Optimization 线性规划:如果数组中的值超过某个阈值,如何将决策变量(二进制)转换为1

Optimization 线性规划:如果数组中的值超过某个阈值,如何将决策变量(二进制)转换为1,optimization,linear-programming,pyomo,gurobi,integer-programming,Optimization,Linear Programming,Pyomo,Gurobi,Integer Programming,我有一个数组,它用决策变量表示一个线性表达式。假设决策变量采用数组=[1.7,0.3,0]的值。现在我想要的是: 1) 如果上述数组中的任何值大于0.5,则决策变量为:y1(二进制)=1,否则为0。 所以y1应该是[1,0,0] 2) 如果上述数组中的任何值大于0.5,则决策变量:y2(实值)= 值,否则为0。因此y2=[1.7,0,0] 3) 如果数组中的任何值大于0,您只需要:指示符变量(1+3)和二进制连续乘积的线性化(指示符乘以原始变量)(2):请参阅。谢谢!您共享的pdf非常有用!!

我有一个数组,它用决策变量表示一个线性表达式。假设决策变量采用数组=[1.7,0.3,0]的值。现在我想要的是:

1) 如果上述数组中的任何值大于0.5,则决策变量为:y1(二进制)=1,否则为0。 所以y1应该是[1,0,0]

2) 如果上述数组中的任何值大于0.5,则决策变量:y2(实值)= 值,否则为0。因此y2=[1.7,0,0]


3) 如果数组中的任何值大于0,您只需要:指示符变量(1+3)和二进制连续乘积的线性化(指示符乘以原始变量)(2):请参阅。谢谢!您共享的pdf非常有用!!