我正在尝试根据供应商对一种产品的成本来优化最低成本。
第一个限制是价格因成本而异,因此在第一个供应商处,如果您购买 1<=x<5,则价格为 107,如果 x>=5,则价格为 90。
另一个限制是,如果成本是相同的 BodeBrown>Bil Bil> Homebrewer (我不知道如何实现它,也许将一个微不足道的数字加到指定的成本中)
每个生产周期都有需求。
我尝试使用二进制文件排除每个供应商的一个价格,制作 OR 逻辑。例如:x1+x2<=1。并制作一个目标函数,如最小化 z: 107*x1+90*x2+100*x3+96*x4+105*x5+90*x6 with var xi>=0, binary;
但是,我无法用二进制实现需求。
如果有人可以给我一些提示,请。提前致谢
ps.:我在Gusek上学习LP,但我也安装了solverstudio
编辑2:
在 LINGO 上解决了,感谢 Erwin!
@BIN( y1);
@BIN( y2);
@BIN( y3);
@BIN( y4);
@BIN( y5);
@BIN( y6);
@GIN( x1);
@GIN( x2);
@GIN( x3);
@GIN( x4);
@GIN( x5);
@GIN( x6);
!Desempate;
e1=0.001;
e2=0.001;
e3=0.002;
e4=0.002;
e5=0.003;
e6=0.003;
!FO;
!Sum(ci*xi*yi);
MIN = ((107+e1)*x1*y1)+((90+e2)*x2*y2)+((100+e3)*x3*y4)+((96+e4)*x4*y4)+((105+e5)*x5*y5)+((90+e6)*x6*y6);
!s.t.;
!Demand, it is a variable that is changed during production;
x1*y1+x2*y2+x3*y3+x4*y4+x5*y5+x6*y6=5;
!Just one supplier is chosen;
y1+y2+y3+y4+y5+y6=1;
!Intervals;
x1>=1*y1;
x1<5*y1;
x2>=5*y2;
x3>=1*y3;
x3<4*y3;
x4>=4*y4;
x5>=1*y5;
x5>5*y5;
x6>=5*y6;
好吧,程序很乱,但它只是为了学习,用公式可以进行通用编程并解决更大的问题。