是否可以使用MSF API指定一个变量作为半整数(V = 0,或a <= V <= b)?

以下是在LP_Solve一个使用“SEC”和“INT”的关键字来表示该变量是半连续和整数的例子。

max: 0.5 Q1 + 0.55 Q2 ;

Q1 >= 5;
Q1 <= 10 ;
Q2 >= 5;
Q2 <= 10;
Q1 + Q2 <= 10;

sec Q1,Q2 ;
int Q1,Q2 ;

东西在MSF类似将是很好。我注意到,这是可以调用Gurobi插件DLL MSF内,但是我无法找到该API的任何地方能够正确地设定变量的类型(我想Gurobi称它为VTYPE),所以我认为它是要么不暴露在他们的.NET API或版本Gurobi的无国界医生使用不可用?另外,有一个很好的办法从.NET调用LP_Solve?

有帮助吗?

解决方案

您可以做到这一点与求解基金会,但有没有类似的“秒”的关键字。相反,你可以添加对每一个半整数变量虚设0-1决策。为了您的参与“V”原来的例子,这里是你如何能做到这一点的OML:

Model[
  Decisions[
    Integers[0, 1],
    VPositive
  ],
  Decisions[
    Reals,
    V
  ],
  Constraints[
    constraint -> 10 * VPositive<= V <= 20 * VPositive
  ]
]

如果您使用的是求解基础API,那么你会添加analagous决策,约束,使用对象模型的目标。指定的类型决定的方法是使用一个域,在构造函数提供的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top