1

我正在尝试创建一个二进制指标,例如指标y==1 if x > -0.5和其他,y==0 if x <= -0.5. 现在,如果我的目标是最小化,我有一个可行的实现:

var y binary; 
param M := 100; 
var z; 

param x := -0.49; 

subto zval: 
  z <= 5; 

subto a: 
  M * y - 0.5 >= x; 

minimize obj: z; 

但是,如果我改为最大化,则y无论 x 的值如何,都将为 1。有没有办法以一种既能最大化又能最小化目标函数的方式重写它?

4

0 回答 0