搜索内容 搜索用户

5 麦片

050

1主题 0最佳答案
 本帖最后由 wx_Wjevs7Tx 于 2020-2-14 17:15 编辑 如何用matlab或lingo求解多元函数的最小值?求最优成本 minC，minC=X[ ]*P[ ]，价格P固定，重量X变动为整数，如无法得出整数解，有小数解也可。X[]=[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12]P[]=[6900,5330,4800,6500,6270,6200,6700,6200,6700,5000,5080,5470]sumX=x1+x2+x+x4+x5+x6+x7+x8+x9+x10+x1+x12=2000密度M为恒量，M[ ]=[m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12]=[0.742,0.6667,0.63,0.809,0.695,0.7072,0.88,0.7072,0.88,0.63,0.8693,0.7409] 体积V[ ]=X/M=[v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12]=[x1/m1,x2/m2,x3/m3,x4/m4,x5/m5,x6/m6,x7/m7,x8/m8,x9/m9,x10/m10,x11/m11,x12/m12]sumV= v1+v2+v3+v4+v5+v6+v7+v8+v9+v10+v11+v12Vs=V/sumV=[v1/sumV,v2/sumV, v3/sumV, v4/sumV, v5/sumV, v6/sumV, v7/sumV, v8/sumV, v9/sumV, v10/sumV,v11/sumV, v12/sumV] 另有恒量：B[ ]= [b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12]=[116,72,81,101,96,91,109,91,109,80,95,116]C[ ]=[c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12]=[108,60,70,85,92,85,85,85,85,70,90,108]D[ ]=[d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12]=[52,54,125,38,53,83,7,83,7,120,14,50]E[ ]=[e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12]=[0,5.5,0,1.4,0.9,57.5,1.3,57.5,1.3,0.7,12.7,0]F[ ]=[f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12]=[0,1,2,66,5,12,98,12,98,2,56,0]G[ ]=[g1,g2,g3,g4,g5,g6,g7,g8,g9,g10,g11,g12]=[18,0.1,0.3,0.1,0.1,0.1,0.1,0.1,0.1,0.3,0.1,18.2]H[ ]=[h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12]=[0,0.5,0.7,1.6,0.1,0.1,0.1,0.1,0.1,0.7,0.1.0.1]I[ ]=[i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12]=[1,2,5,3,3,10,1,10,1,2,8,88] 约束条件：mm=sum(M*Vs)=sum(m1*v1/sumV+m2*v2/sumV+m3*v3/sumV+m4*v4/sumV+m5*v5/sumV+m6*v6/sumV+m7*v7/sumV+m8*v8/sumV+m9*v9/sumV+m10*v10/sumV+m11*v11/sumV+m12*v12/sumV)0.73<=mm<=0.739 bb=sum(B*Vs)=sum(b1*v1/sumV+b2*v2/sumV+b3*v3/sumV+b4*v4/sumV+b5*v5/sumV+b6*v6/sumV+b7*v7/sumV+b8*v8/sumV+b9*v9/sumV+b10*v10/sumV+b11*v11/sumV+b12*v12/sumV)95<=bb<=96 cc=sum(C*Vs)=sum(c1*v1/sumV+c2*v2/sumV+c3*v3/sumV+c4*v4/sumV+c5*v5/sumV+c6*v6/sumV+c7*v7/sumV+c8*v8/sumV+c9*v9/sumV+c10*v10/sumV+c11*v11/sumV+c12*v12/sumV)80<=cc<=100 dd=sum(D*Vs)=sum(d1*v1/sumV+d2*v2/sumV+d3*v3/sumV+d4*v4/sumV+d5*v5/sumV+d6*v6/sumV+d7*v7/sumV+d8*v8/sumV+d9*v9/sumV+d10*v10/sumV+d11*v11/sumV+d12*v12/sumV)40<=dd<=55 ee=sum(E*Vs)=sum(e1*v1/sumV+e2*v2/sumV+e3*v3/sumV+e4*v4/sumV+e5*v5/sumV+e6*v6/sumV+e7*v7/sumV+e8*v8/sumV+e9*v9/sumV+e10*v10/sumV+e11*v11/sumV+e12*v12/sumV)0<=ee<=16 ff=sum(F*Vs)=sum(f1*v1/sumV+f2*v2/sumV+f3*v3/sumV+f4*v4/sumV+f5*v5/sumV+f6*v6/sumV+f7*v7/sumV+f8*v8/sumV+f9*v9/sumV+f10*v10/sumV+f11*v11/sumV+f12*v12/sumV)0<=ff<=32 gg=sum(G*Vs)=sum(g1*v1/sumV+g2*v2/sumV+g3*v3/sumV+g4*v4/sumV+g5*v5/sumV+g6*v6/sumV+g7*v7/sumV+g8*v8/sumV+g9*v9/sumV+g10*v10/sumV+g11*v11/sumV+g12*v12/sumV)0<=gg<=2.6 hh=sum(H*Vs)=sum(h1*v1/sumV+h2*v2/sumV+h3*v3/sumV+h4*v4/sumV+h5*v5/sumV+h6*v6/sumV+h7*v7/sumV+h8*v8/sumV+h9*v9/sumV+h10*v10/sumV+h11*v11/sumV+h12*v12/sumV)0<=hh<=0.7 ii=sum(I*Vs)=sum(i1*v1/sumV+i2*v2/sumV+i3*v3/sumV+i4*v4/sumV+i5*v5/sumV+i6*v6/sumV+i7*v7/sumV+i8*v8/sumV+i9*v9/sumV+i10*v10/sumV+i11*v11/sumV+i12*v12/sumV)0<=ii<=8 附图是用EXCEL的规划求解计算使用，方便大侠理解。但EXCEL无法得出最优解，最优解会变化，可能是因为EXCEL规划求解功能没有遍历求解。

excel规划求解最小值.xls

44 KB, 下载次数: 0

excel表述

1248 麦片

5001500

0主题 265最佳答案
• 关注者： 174

 楼主代码中： 密度M固定，M[ ]=[m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12]=[0.742,0.6667,0.63,0.809,0.695,0.7072,0.88,0.7072,0.88,0.63,0.8693,0.7409] sumM=m1+m2+m3+m4+m5+m6+ m7+ m8+ m9+ m10+ m11+ m12 0.73<=sumM<=0.739 上面m1, m2,...m12都已知，sumM也就已知，何来“0.73<=sumM<=0.739”？怎么满足？

5 麦片

050

1主题 0最佳答案
楼主| 发表于 2020-2-13 17:41:16 | 显示全部楼层
 写错了，不好意思，我修改一下，密度M和其他一样都是和重量相关的，按重量比例计算得出一个合计数，

1248 麦片

5001500

0主题 265最佳答案
• 关注者： 174

 没看出来楼主1#的描述中关于2#说的问题哪儿改动了？

5 麦片

050

1主题 0最佳答案
楼主| 发表于 2020-2-13 20:37:59 | 显示全部楼层
 本帖最后由 wx_Wjevs7Tx 于 2020-2-13 20:42 编辑 刚刚没改，现在改过了来，一楼

1248 麦片

5001500

0主题 265最佳答案
• 关注者： 174

 自己仔细点吧： B[ ]= [b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12]=[116,72,81,101,96,91,109,80,95,116] 后面的数据只有10个

5 麦片

050

1主题 0最佳答案
楼主| 发表于 2020-2-14 17:16:07 | 显示全部楼层
 已经改好了，不好意思

203 麦片

50500

0主题 41最佳答案
• 关注者： 12

 解答 Local optimal solution found.   Objective value:                             0.1126628E+08   Objective bound:                             0.1126628E+08   Infeasibilities:                              0.000000   Extended solver steps:                             540   Total solver iterations:                         10721                                            Variable           Value                                               X( 1)        142.0000                                               X( 2)        3.000000                                               X( 3)        315.0000                                               X( 4)        0.000000                                               X( 5)        761.0000                                               X( 6)        0.000000                                               X( 7)        0.000000                                               X( 8)        0.000000                                               X( 9)        0.000000                                              X( 10)        9.000000                                              X( 11)        692.0000                                              X( 12)        78.00000

1248 麦片

5001500

0主题 265最佳答案
• 关注者： 174

 楼上结果似乎无法满足约束“dd<=55”和“ii<=8”。 1#也好好检查下自己给出的数据和代码是否有误？很粗心的感觉，比如： H[ ]=[h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12]=[0,0.5,0.7,1.6,0.1,0.1,0.1,0.1,0.1,0.7,0.1.0.1] 还是出现低级错误（“0.1.0.1”应该是“0.1,0.1”）

5 麦片

050

1主题 0最佳答案
楼主| 发表于 2020-3-12 22:54:29 | 显示全部楼层
 我已经用LINGO解决了。相当感谢楼上:)

 您需要登录后才可以回帖 登录 | 注册 本版积分规则 回帖后跳转到最后一页