
怎样利用lingo解决非线性规划问题
max=1005*x1+1353*x2+1018.5*x3+1265*x4+1160*x5+840*x6+1610*x7+1350*x8;6700*x1<=34000;6...
max=1005*x1+1353*x2+1018.5*x3+1265*x4+1160*x5+840*x6+1610*x7+1350*x8;
6700*x1<=34000;
6600*x2<=27000;
4850*x3<=30000;
5500*x4<=22000;
5800*x5<=30000;
4200*x6<=23000;
4600*x7<=25000;
4500*x8<=23000;
6700*x1+6600*x2+4850*x3+5500*x4+5800*x5+4200*x6+4600*x7+4500*x8<=150000;
x1*x3>0;
x4*x5=0;
x2*x6*x7*x8>0;
x1>=0;
x2>=0;
x3>=0;
x4>=0;
x5>=0;
x6>=0;
x7>=0;
x8>=0; 本来我定义了x1*x3>0。但是解出的x1=0,为啥子呢??? 展开
6700*x1<=34000;
6600*x2<=27000;
4850*x3<=30000;
5500*x4<=22000;
5800*x5<=30000;
4200*x6<=23000;
4600*x7<=25000;
4500*x8<=23000;
6700*x1+6600*x2+4850*x3+5500*x4+5800*x5+4200*x6+4600*x7+4500*x8<=150000;
x1*x3>0;
x4*x5=0;
x2*x6*x7*x8>0;
x1>=0;
x2>=0;
x3>=0;
x4>=0;
x5>=0;
x6>=0;
x7>=0;
x8>=0; 本来我定义了x1*x3>0。但是解出的x1=0,为啥子呢??? 展开
1个回答
2013-08-31
展开全部
x1*x3>0;x1>=0;x3>=0;你是想让X1与X3最多只有一个为0?不妨试试把约束稍稍放宽,改为x1*x3>=0.001;结果如下
Variable Value Reduced Cost X1 0.1616667E-03 0.000000 X2 4.090909 0.000000 X3 6.185567 0.000000 X4 4.000000 0.000000 X5 0.000000 0.000000 X6 5.475933 0.000000 X7 5.434783 0.000000 X8 5.111111 0.000000可见x1是一个略大于零的数,应该是精度问题,导致x1显示为零了。或许你可以修改一下你的模型试试。
Variable Value Reduced Cost X1 0.1616667E-03 0.000000 X2 4.090909 0.000000 X3 6.185567 0.000000 X4 4.000000 0.000000 X5 0.000000 0.000000 X6 5.475933 0.000000 X7 5.434783 0.000000 X8 5.111111 0.000000可见x1是一个略大于零的数,应该是精度问题,导致x1显示为零了。或许你可以修改一下你的模型试试。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询