if else语句与cplex java

时间:2018-06-08 14:11:29

标签: java cplex opl

我有几个if-else语句。我想使用cplex来解决使用java的问题而我不知道如何在if-else中制定cplex。我有这样的声明:

if (stock[i][t] <=Seuil || stock[i][t] <= livraison[i][t] ) 
then ( order[i][t]==Q && stock[i][t+1] == stock[i][t]-livraison[i][t]+order[i][t]);

stock[i][t]stock[i][t]:决策变量 Seuillivraison[i][t]Q已知(参数)

2 个答案:

答案 0 :(得分:0)

你的问题不明确。我认为您使用的是OPL语言,因为您在语句中使用了“then”这个词。如果是,那么你的陈述的class Entry(Widget): name = StringProperty('Example') date = StringProperty('00/00/0000') status = StringProperty('static/right.png') def on_touch_down(self, touch): super(Entry, self).on_touch_down(touch) popup = Mypopup(name=self.name) popup.open() return True class MainScreen(FloatLayout): def __init__(self, **kargs): super(MainScreen, self).__init__(**kargs) layout = GridLayout(cols=1, spacing=10, size_hint_y=None) layout.bind(minimum_height=layout.setter('height')) for i in range(10): layout.add_widget(Entry(name='Facebook', date='12/12/2012', status='static/right.png')) for i in range(10): layout.add_widget(Entry(name='Facebook', date='12/12/2012', status='static/wrong.png')) scroll = ScrollView(size_hint=(1, None), height=Window.height) scroll.add_widget(layout) self.add_widget(scroll) 部分 if 混合决策变量和参数/数据/已知量。

如果您正在尝试建模if-then条件,那么您将不得不引入二进制变量来表示不同的逻辑条件。

答案 1 :(得分:0)

如果您使用OPL,则可以使用逻辑约束。 让我给你一个代码中的小例子:

int Seuil=5;

range I=1..4;
range T=1..3;
int order[i in I][t in T]=i+t;
int Q=1;

dvar int stock[I][T] in 0..10;
dvar int livraison[I][T] in 0..10;

subject to
{
forall(i in I,t in T:(t+1) in T)
 (stock[i][t] <=Seuil || stock[i][t] <= livraison[i][t] ) 
=> ( order[i][t]==Q && stock[i][t+1] == stock[i][t]-livraison[i][t]+order[i][t]);

}

问候