lingo求线性规划划lingo编程

如何用lingo求解整数非线性规划不等式方程组,高分相求完整程序!!!_百度知道
如何用lingo求解整数非线性规划不等式方程组,高分相求完整程序!!!
min=x(1)+x(2)+y(1)+y(2)+y(3)+y(3)+y(5)+y(6);10*y(1)&=47-12*x(1)&=10*(y(1)+1);8*(y(2)-1)&=47-12*x(1)-10*y(1)+33-6*x(1)&-8*y(2);10*y(3)&=31-12*x(2)&=10*(y(4)+1);8*(y(4)-1)&=42-6*x(2)+31-12*x(2)-10*y(3)&=8*y(4);8*(y(5)-1)&=50-[8*y(4)-(42-6*x(2)+31-12*x(2)-10*y(3))]&=8*y(5);8*(y(6)-1)&=41-[8*y(2)-(47-12*x(1)-10*y(1)+33-6*x(1))]-(8*y(5)-50+(8*y(4)-42-6*x(2)+31-12*x(2)-10*y(3)))&=8*y(6);x(1)+x(2)&=20%*(y(1)+y(2)+y(3)+y(4)+y(5)+y(6));变量是:x1,x2,y1,y2,y3,y4,y5,y6
提问者采纳
endsetsmin=x(1)+x(2)+y(1)+y(2)+y(3)+y(4)+y(5)+y(6);47-12*x(1)&=10*y(1);47-12*x(1)&=10*(y(1)+1);8*(y(2)-1)&=47-12*x(1)-10*y(1)+33-6*x(1);47-12*x(1)-10*y(1)+33-6*x(1)&=8*y(2);10*y(3)&=31-12*x(2);31-12*x(2)&=10*(y(3)+1);8*(y(4)-1)&=42-6*x(2)+31-12*x(2)-10*y(3);42-6*x(2)+31-12*x(2)-10*y(3)&=8*y(4);8*(y(5)-1)&=50-(8*y(4)-(42-6*x(2)+31-12*x(2)-10*y(3)));50-(8*y(4)-(42-6*x(2)+31-12*x(2)-10*y(3)))&=8*y(5);8*(y(6)-1)&=41-(8*y(2)-(47-12*x(1)-10*y(1)+33-6*x(1)))-(8*y(5)-50+(8*y(4)-42-6*x(2)+31-12*x(2)-10*y(3)));41-(8*y(2)-(47-12*x(1)-10*y(1)+33-6*x(1)))-(8*y(5)-50+(8*y(4)-42-6*x(2)+31-12*x(2)-10*y(3)))&=8*y(6);x(1)+x(2)&=0.2*(y(1)+y(2)+y(3)+y(4)+y(5)+y(6));@gin(x(1));@gin(x(2));@gin(y(1));@gin(y(2));@gin(y(3));@gin(y(4));@gin(y(5));@gin(y(6));end已测试好,放心使用。
提问者评价
采纳率100%
其他类似问题
为您推荐:
非线性规划的相关知识
其他1条回答
给我赏金先
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁线性规划与Lingo软件_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者
评价文档:
线性规划与Lingo软件
大小:3.06MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢论文发表、论文指导
周一至周五
9:00&22:00
非线性规划建模与LINGO软件的编程应用
&&&&&&本期共收录文章20篇
  摘要:对非线性规划问题进行快速的求解和建模是很困难的。LINGO提供的建模语言极大地方便了对此类问题的解决。结合一个非线性规划例题详细介绍LINGO及其“集”的编程技巧。计算结果表明LINGO在解决含有大量变量和约束条件的非线性规划问题时具有编程语言简单,使用方式灵活,适用性强的优点。 中国论文网 /8/view-2395867.htm  关键词:LINGO软件;集合;非线性规划;最优解   中图分类号:O144文献标识码:A文章编号:12)10-2419-04   Modeling of Nonlinear Programming and LINGO’s Programming and Application   SANG Yang-yang, ZHU Wan-hong, DAN Bing-bing   (Engineering Institute of Engineer Corps .PLA Univ. of Sci. &Tech., Nanjing 210007, China)   Abstract: It’s very difficult for the fast modeling and solution of the nonlinear programming. LINGO modeling language greatly simplifies the process. Introduce the programming skills of LINGO and the SET in detail combined with a nonlinear programming problem. The calculation results show that the programming language is simple, flexible and applicability when using LINGO to solve the nonlinear programming problems contained a lot of variables and constraints.   Key words: LINGO; SET; n optimal solution   对于大型复杂的优化模型,包含变量和约束条件较多,通过手工计算求解这类问题是非常困难的。使用MATLAB或C语言等编程计算虽然可行,但一般情况下程序编写繁琐,不仅容易出错,还可能耗费大量的时间和精力。LINGO软件是美国LINDO系统公司(Lindo System Inc.)开发的求解最优化问题的软件包,在求解大型线性、非线性和整数规划问题方面具有编程简单,计算稳定可靠和求解迅速的优势。其内置的建模语言提供了几十个内部函数,能以较少的语句,较直观的方式描述较大规模的优化模型。   1非线性规划类问题及其实例建模   1.1非线性规划类问题求解的一般特点   线性规划问题的目标函数和约束条件是自变量的一次函数,如果在目标函数或约束条件中包含有非线性的函数,就称这种规划问题为非线性规划问题。由于非线性函数的复杂性,解非线性规划问题要比解线性规划问题困难得多。而且,也不像线性规划有单纯形法等通用方法,且可用于求解的各个方法都有自己特定的适用范围,掌握起来较为困难。   非线性规划问题的一般模型为:min f(x)   s.t. gi(x)≥0,i=1,…,m   hj(x)=0,j=1,…,p   其中,x=(x1,…,xn)属于定义域D,符号min表示求“最小值”,符号s.t.表示“受约束于”。定义域D中满足约束条件的点称为问题的可行解。对于一个可行解x*,如果存在x*的一个邻域,使目标函数在x*处的值f(x*)优于该邻域中如何其他可行解处的函数值,则称x*为问题的局部最优解。如果f(x*)优于一切可行解处的目标函数值。则称x*为问题的整体最优解。实际应用中的非线性规划问题一般要求得到整体最优解。   1.2实例分析与建模   首先对一个求解电厂监控系统的最优化改造方案的问题进行非线性规划的实例分析与数学建模。   指标一系统稳压设施各等级安全概率及其费用   上面各表中数据反映的是某电厂改造其内部的监控系统(主要包括一个主设备间和多条监控管线),在模拟出现爆炸,火灾等恶劣和极端工作条件下,各类安全防护指标所选取的方案、相应的费用和破坏概率。整个系统的改造费用为400万元,求出该系统各种防护指标方案的最优搭配,使系统的总体安全概率最高。   按照上述的思路,共设4种安全防护指标,即N=4。目标函数为:   其中F总=400万元,pij为第i项指标下第j个方案的破坏概率,x为引入的0-1变量,xij=1代表第i项指标下第j个方案为使用,为0则为不使用。C为建设费用。P总为系统整体安全概率。   为便于后面的编程计算,我们首先把第一项指标中的安全防护效能转化为破坏概率。其次,在三,四项指标中各添加一个方案五(重复一遍任意方案即可,这里直接复制四方案)。   指标一系统稳压设施各等级安全概率及其费用   2运用LINGO程序求解非线性规划问题   2.1 LINGO程序段的一般组成   LINGO的主要功能是求解大型线性、非线性和整数规划问题,对于这类问题中大量的变量和约束条件,采用“集”(集合)的形式进行管理和参与运算,极大地方便了对复杂规划类问题的建模与求解。理解LINGO建模语言最重要的是理解集“SET”及其属性的概念。   常见的LINGO程序段包含下面三个部分:   1)“集”定义部分:定义“集”及其属性(从“SETS:”到“ENDSETS”)。   2)数据输入部分:已知属性赋以初始值(从“DATA:”到“ENDDATA”)。   3)目标函数和约束条件:定义了目标函数,约束条件等反映LINGO对数学模型的编译内容。   2.2 LINGO程序的编程   2.2.1 LINGO程序“集”的定义   “集”是一组相关对象构成的组合,代表模型中的实际事物,是实际问题到数学的抽象。例子中的4项防护指标可以看成一个集合,每项指标都有5项方案,这5项方案又可以看成一个集合。每个“集”在使用之前需要预先给出定义,定义集时要明确三方面的内容,集的名称,集内的成员(也称元素),集的属性(可以看成是与该集合有关的变量和常量,相当于数组)。本例集合定义如下:   scheme/s1..s5/;   measure/m1..m4/;   为了表示数学模型中指标与连队的各项关系,又定义了一个新的集:   links(measure,scheme):c,p,x;   该集以初始集measure和scheme为基础,称为衍生集合(或称派生集合)。c、p和x是该衍生集合的三个属性,分别表示每项指标下的每项方案的建设费用、破坏概率还有决定采用还是不采用的0-1型决策变量,实际运算中,引入(i,j)依次标示这两个纬度里的各项成员。   2.2.2数据的输入   以上集合中属性X是决策变量,是待求未知数,属性c和p都是已知数,LINGO建模语言通过数据初始化部分来实现对已知属性赋以初始值,格式为:   DATA:   p=0.066,0.18,0.238,0.385,0.477 0.084,0.228,0.376,0.580,0.831 0.017,0.076,0.154,0.810,0.810 0.000,0.015,0.552,0.826,0.826; c=100,60,40,20,0 250,180,120,90,0 50,42,30,0,0 50,40,30,0,0; ENDDATA   2.2.3目标函数和约束条件   目标函数表达式:,表达式中p和x即links的两个属性。   如果表达式中参与运算的属性属于同一个集合,则@prod语句中索引(i,j)(或下标)可以省略,假如表达式中参与运算的属性属于不同的集合,则不能省略属性的索引,故前一LINGO语句可写为:max=@prod(links:1-p*x);   约束条件实际上表示了4个不等式,用LINGO语言表示该约束条件,语句为:@for(measure(i):@sum(links(i,j):x(i,j))=1);语句中@for是LINGO提供的内部函数,它的作用是对某个集合的所有成员分别生成一个约束表达式,它有两个参数,以上述语句为例,@for的一个参数为measure,它表示指标或措施,共有4个成员,故应生成4个约束表达式,@for的第二个参数是约束表达式的具体内容,此外再调用@sum函数(使用方法和@prod函数相同),表示约束表达式的左边是求和,是对集合links的5个成员,并且对表达式X(i,j)中的第二维j求和,即   用LINGO语句表示为:   @sum(links(i,j):c(i,j)*x(i,j))<=400;   2.3完整的模型   MODEL:   SETS:   scheme/s1..s5/;   measure/m1..m4/;   links(measure,scheme):c,p,x;   ENDSETS   DATA:   p=0.066,0.18,0.238,0.385,0.477   0.084,0.228,0.376,0.580,0.831   0.017,0.076,0.154,0.810,0.810   0.000,0.015,0.552,0.826,0.826;   c=100,60,40,20,0   250,180,120,90,0   50,42,30,0,0   50,40,30,0,0;   ENDDATA   max=@prod(links(i,j):1-p(i,j)*x(i,j));   @sum(links(i,j):c(i,j)*x(i,j))<=400;   @for(links(i,j):@bin(x(i,j)));   @for(measure(i):@sum(links(i,j):x(i,j))=1); END   3求解报告分析   点击“求解”按钮,很快得出求解报告,部分求解报告如下:   Objective value:0.7272757   ……   VariableValueReduced Cost   ……(省略c,p常量的列举)   X( M1, S1)0.. X( M1, S2)1.7580E-01 X( M1, S3)0.000   X( M1, S4)0.8797E-01 X( M1, S5)0.1758   ……(省略指标2、3、4的求解结果)   以指标一为例,x12求得等于1,其它三项为0,说明在最优方案中,指标一系统稳压设施采用方案2,其它三项若使用达不到总体的这个最优结果,故不使用。同理,x21,x31,x42为1,即分别对应系统结构抗力措施采取方案1,防震隔振措施采取方案1,屏蔽防护措施采取方案2时,该监控系统可得到最大的安全防护概率0.727%。   4结束语   通过对这个非线性规划类问题的建模求解,体现了运用LINGO软件求解非线性规划问题的三个优点:一是工程实际中涉及到的运筹分析往往是包含大小多个不同的系统,LINGO软件的编程语言可以简明高效的表达其中的各类数学关系,定义部分也较为简单直观。“集”在建模的过程中简化了运算关系;二是LINGO软件提供了大量的内部函数,可以简单有效地表达目标函数以及约束条件,如求和表达式,若用直接输入的方式,将有200个Nij和200个Mij相乘再相加,需要输出长长一大窜,不便于输入和修改,提供的@sum,@prod则大大简化了编程输入;三是符合LINGO的“集”和其它部分编程的语法规定的表达式都可以进行计算,没有线性规划和非线性规划的具体区别。而如果用手工计算,两者对应的完全是不同的求解方法,非线性问题的解决也相当复杂,一般人较难掌握。   参考文献:   [1]谢金星,薛毅.优化建模与LINGO/LINDO软件[M].北京:清华大学出版社,2005.   [2]袁新生,邵大宏,郁时炼.LINGO和Excel在数学建模中的应用[M].北京:科学出版社,2007.   [3]甘应爱,田丰,李梅生.运筹学[M].北京:清华大学出版社,2005.   [4]王春莹,高雪莲.某电厂防雷接地系统简析[J].情报开发与经济,):218.   [5]宋立平.火力发电厂战时防护措施及优选方法研究[D].南京:工程兵工程学院,2010.
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。Lingo求解线性规划问题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
Lingo求解线性规划问题
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢实验1 利用Lingo求解线性规划_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
实验1 利用Lingo求解线性规划
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 lingo非线性规划 的文章

 

随机推荐