用LINGO软件求解“非线性规划”问题.docx

上传人:大张伟 文档编号:6359381 上传时间:2020-11-01 格式:DOCX 页数:4 大小:25.61KB
返回 下载 相关 举报
用LINGO软件求解“非线性规划”问题.docx_第1页
第1页 / 共4页
用LINGO软件求解“非线性规划”问题.docx_第2页
第2页 / 共4页
用LINGO软件求解“非线性规划”问题.docx_第3页
第3页 / 共4页
用LINGO软件求解“非线性规划”问题.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《用LINGO软件求解“非线性规划”问题.docx》由会员分享,可在线阅读,更多相关《用LINGO软件求解“非线性规划”问题.docx(4页珍藏版)》请在三一文库上搜索。

1、用 LINGO 软件求解“非线性规划”问题丁老师(超盾博客)一. 选址问题(选取位置,使总运量最小)例某工程,6个工地同时开工,每个工地的位置 Mi ( ai, bi ) ,距离值(单位:km)、水泥日需求量 d( t) (单位:吨)由下表给出:MiM1M2M3M4M5M6ai1.258.750.55.7537.25bi1.250.754.7556.57.75d( t)3547611目前暂定2个临时料场位于P(5,1)、Q(2,7)用于存储水泥,日储量20吨。假设从料场到工地之间均可开通直线道路相连。试寻找更好的料场位置,使得总运输量(吨公里)更小。解 将题目和表格进行整理得到:6个工地i(程

2、序j)M1M2M3M4M5M6ai (程序a(j)1.258.750.55.7537.25工地坐标bi (程序b(j)1.250.754.7556.57.75需求d( t) (程序d(j)3547611demand假设:(1) P( p1 , p2 ) 、 Q( q1 , q2 ) 为料场;(2) 从P调 c1 j 吨水泥到 M j ,从Q调 c2 j 吨水泥到 M j (1表示P,2表示Q),j = 1, ,6.“总吨公里”的表示方法:“总: ;吨:c;公里:两点间距”,目标函数是“非线性”的,根据上述“总吨公里”的表示方法得到“非线性”规划模型:min f = c11 ( p1 1.25)

3、2 + ( p2 1.25)2 + c12 ( p1 8.75)2 + ( p2 0.75)2+ c13 ( p1 0.5)2 + ( p2 4.75)2 + c14 ( p1 1.25.75)2 + ( p2 5)2+ c15 ( p1 3)2 + ( p2 6.5)2 + c16 ( p1 7.25)2 + ( p2 7.75)2+ c21 ( q1 1.25)2 + ( q2 1.25)2 + c22 ( q1 8.75)2 + ( q2 0.75)2+ c23 ( q1 0.5)2 + ( q2 4.75)2 + c24 ( q1 5.75)2 + ( q2 5)2+ c25 ( q1

4、 3)2 + ( q2 6.5)2 + c26 ( q1 7.25)2 + ( q2 7.75)2c 0ijc+ c= 31121c+ c= 51222c+ c= 421323c1 j + c2 j= d j cij = d j( j = 1, ., 6)s.t.+ c24 = 7c14i=1c+ c= 61525c16 + c26= 11+ c12+ c13+ c14+ c15 + c16 20c116c+ c+ c+ c+ c + c 20 cij ei( i = 1, 2)j=1212223242526用LINGO9.0求解,首先分析此问题中的向量和矩阵,有:(1) 3 个 6 维向量:

5、a, b, d;(2) 3 个 2 维向量:p, q, e,其中 p 和 q 表示题目中给出的最初暂定的两个料场的坐标;(3) 1 个 26 调度矩阵:c.LINGO总程序:sets:! 3个6维向量;demand/1.6/ : a, b, d;supply/1.2/ : p, q, e;! 3个2维向量;link(supply, demand) : c;! 1个26调度矩阵;endsetsdata:a = 1.25, 8.75, 0.5, 5.75, 3, 7.25;b = 1.25, 0.75, 4.75, 5, 6.5, 7.75;d = 3, 5, 4, 7, 6, 11;e = 20

6、, 20;enddatainit:! 迭代初始点;p = 5, 2;q = 1, 7;endinit! link(i, j) : c(i, j) 表示 26 调度矩阵;! obj 表示在结果中标注目标函数所在行代码;objmin = sum( link(i, j) : c(i, j) * ( ( p(i) - a(j) )2 + ( q(i)- b(j) )2 )(1/2) ); ! 先变i后变j;for( demand(j) : demand_consum( supply(i) : c(i, j) ) = d(j); ); ! 先变j后变i;for( supply(i) : supply_c

7、onsum( demand(j) : c(i, j) ) = e(i); );for( supply(i) : free(x); free(y); ); ! 所有变量可取负值; end点击保存后,按“Ctrl + S”运行得到结果:Objective value:85.26604 (即:总运输量为85.26604吨公里)VariableValueReduced CostP( 1)3.2548830.000000P( 2)7.2500000.8084079E-07Q(1)5.6523320.000000Q(2)7.7500000.2675276E-06P(1)、P(2)、Q(1)、Q(2)的值即为对初始点(题给最初临时料场)优化迭代后得到的料场的选取,即料场选取在 P( p1 , p2 ) = P(3.254883, 5.652332)与 Q( q1 , q2 ) =Q(7.250000, 7.750000)比较好。注意:程序中的P(1)对应数学式中的 p1 ,但程序中的P(2)对应的是数学式中的 q1 而不是 p2 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1