问题
求最小值求解
min f(y1)+f(y2)+f(y3)+f(y4)
当x=0时,f(x)=0,否则f(x)=3x+5
y1=x11+x12+x13;
y2=x21+x22+x23;
y3=x31+x32+x33;
st. x11+x21+x31=10;
x12+x22+x32=8;
x13 +x23+x33=6;
相应的lingo函数:
sets:
P/1…4/:x1,x2,x3;
endsets
min=@sum(P:@if(x1+x2+x3 #gt# 0, 1, 0)(3(x1+x2+x3)+50));
@sum(P:x1)=10;
@sum(P:x2)=8;
@sum(P:x3)=6;
此时计算结果没有问题,最小值是122,x14=10,x24=8,x34=6;
但是当用y代替目标函数。
min=y;
y=@sum(P:@if(x1+x2+x3 #gt# 0, 1, 0)(3(x1+x2+x3)+50));
所得的最小值为272,结果如下