Pregunta

Estoy tratando de utilizar Microsoft Solver Fundación 2 de resolver una situación bastante complicada, sin embargo estoy atascado con un UnsupportedModelException incluso cuando embrutecer el modelo tanto como sea posible.
¿Alguien tiene una idea de lo que estoy haciendo mal?
A continuación se presenta el menor ejemplo requerida para reproducir el comportamiento problemático.

var ctx = SolverContext.GetContext();
var model = ctx.CreateModel();
var someConstant = 1337.0;

var decisionA = new Decision(Domain.Real, "decisionA");
var decisionB = new Decision(Domain.Real, "decisionB");
var decisionC = new Decision(Domain.Real, "decisionC");

model.AddConstraint("ca", decisionA <= someConstant);
model.AddConstraint("cb", decisionB <= someConstant);
model.AddConstraint("cc", decisionC <= someConstant);

model.AddConstraint("mainConstraint", Model.Equal(Model.Sum(Model.Abs(decisionA), decisionB, decisionC), someConstant))

model.AddDecisions(decisionA, decisionB, decisionC);

model.AddGoal("myComplicatedGoal", GoalKind.Minimize, decisionC);

var solution = ctx.Solve();

solution.GetReport().WriteTo(Console.Out);

Console.ReadKey();

Por favor, considere que mi modelo real debe incluir, una vez completa, unos restricciones en la forma de un a + b a <= someValue, así que si lo que estoy dispuesto a hacer en última instancia ISN' t apoyado, por favor hágamelo saber de antemano. Si ese es el caso También apreciaría una sugerencia de algún otro programa de solución con una interfaz .NET que podría utilizar (paquetes comerciales únicamente conocidas, por favor).

Gracias de antemano

¿Fue útil?

Solución

Grab la fuente de este link y pruebe (tiene varios Model.Abs). Si muere entonces algo está mal con su configuración y la solución más corta es desinstalar, reiniciar y volver a instalar.

http://geekswithblogs.net/cyoung/archive/2009 /02/25/129672.aspx

OK, ahora que usted ha mencionado restricciones cuadráticas, al menos la versión expreso definitivamente dosn't apoyan:

http://code.msdn.microsoft.com /solverfoundation/Thread/View.aspx?ThreadId=2756

Empresa versión podría pero cuesta $$$$ - si usted tiene "Académico Empresa" sigue siendo sin Gurobi solucionador por lo que antes de pensar acerca de la separación de su dinero que sería bueno para enviarles preguntas específicas ( http://gurobi.com/ ) y preguntar por alguna garantía en caso de que dicen que sería manejarlo, pero no lo hace

Otros consejos

Creo que es necesario agregar las decisiones al modelo antes de usarlos en las restricciones. Si se agrega esta línea después de la creación de las decisiones que su código funciona para mí:

model.AddDecisions(decisionA, decisionB, decisionC);

Nathan

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top