运筹学(课堂PPT)_第1页
运筹学(课堂PPT)_第2页
运筹学(课堂PPT)_第3页
运筹学(课堂PPT)_第4页
运筹学(课堂PPT)_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1运筹学华南热带农业大学基础学院舒兴明TeL:mail:2必备知识 基础微积分知识:极限,一元函数微分积分基本知识,多元函数的微分、重积分基本知识; 线性代数知识:行列式,矩阵的相关知识,向量相关知识,方程组求解; 概率统计知识:概率的概念及其计算方法,随机变量及其特征,一般分布的特征及其概率的计算方法,基本统计知识。3文献资料运筹学手册(1999) 徐光辉.北京:科学出版社优化建模与LINDO/LINGO软件 谢金星.薛毅.北京:清华大学出版社数学模型 谭永基等.上海:复旦大学出版社4数学模型.姜启源.北京:高等教育出版社管理科学(运筹学) (加)Peter C.B

2、ell.北京:机械工业出版社MATLAB7基础与提高 飞思科技产品研发中心.北京:电子工业出版社Introduction to Operations Research Fredrick S.Hillier &Gerald J.Lieberman 北京:机械工业出版社5生产与运作管理制造与服务Production and Operations Management Manufacturing and Services Richard B.Chase&Nicholas J.Aquilano&F.Robert Jacobs 北京:机械工业出版社管理科学导论 An Introd

3、uction to Management Science Quantitative Approaches to Decision Making David R. Anderson & Dennis J. Sveeney Thomas A. Williams 北京:机械工业出版社6目录线性规划规划软件的应用库存论对策分析图与网络组合分析排队论多目标规划管理信息系统随机规划计算机随机模拟序7序一、运筹学性质 运筹学是从上世纪三四十年代发展起来的一门新兴学科,它的研究对象是人类对各种资源的运用及筹划活动,目的在于了解和发现这种运用以及筹划活动的基本规律,以便发挥有限资源的最大效益,达到总体、

4、全局最优的目标。 运筹学研究的特点有三个:一是强调研究过程的完整性,从问题开始,到构建模型、提出解案、进行检验、建立控制,直到付诸实施为止的所有环节构成了运筹学研究过程的全过程。二是运筹学研究的多学科交叉性,一个复杂的研究对象,需要物理学家、化学家、数学家、经济学家、工程师等组成联合研究队伍,才能了解和完成研究工作。三是运筹学研究强调理论与实践的结合,从这个意义看,研究过程需要从实际出发,不要太过于强调“最优”,必要时先求可行“解”,在看有没有“寻优”的必要。8二、我国古代运筹思想斗马术 齐将田忌与齐王经常赛马,孙膑发现田忌的马虽然不如齐王的,但相差不多,于是在一次赛马中给田忌献策:以下马对齐

5、王的上马,以上马对齐王的中马,以中马对齐王的下马,结果田忌以一负两胜而获胜。这就是现代运筹学的对策论分支的基本分析方法:从不利的设想出发,不求能大胜,但保不大败,顾全大局。军事后勤 北宋时期大科学家、军事家沈括(1031-1095年)关于军事后勤问题,通过分析计算从军各类人员可以背负粮食的基本数据出发,计算了后勤人员与作战士兵在不同行军天数中的比例关系,同时也分析了各种畜牲运粮与人力运粮的比例利弊,最后得出“因粮于敌”的重要决策。即应该从敌国就地征粮,保障前方供应,以便减少后勤人员的比例,提高军队的作战能力。城市规划宋真宗祥符年间(1008-1017年)宫廷失火,需要重建,当时采用了一个取土、

6、弃土、材料运输,以及施工次序统筹安排的综合方案:先在需要重建的通衢大道上就近取土,取土后,通衢变成深沟,于是引卞水,成为一条人工小河,因此基建材料便可以由水路运入工地;宫殿修成后,又将基建费料弃置沟中,重新建成通衢大道。这样的方案取土、弃土近,运输便,一举三得,节省巨额费用。作物轮作我国北魏时期科学家贾思勰齐民要术(533-544年)记载了我国古代劳动人民在耕作、播种、选种、育种、肥田等方面的经验:书中按照不同的作物把播种时间分为上、中、下三时;不同的作物连作时。茬口也安排为上、中、下三等,并指出许多作物之间的先后关系,如种谷“二月上旬为上时,三月下旬为中时,四月上旬为下时.”。以“绿豆、小豆

7、底(即前茬作物)为上,麻黍、胡麻次之,芜青、大豆为下.”且谷田不可连作,“必须岁易”。这就是现代运筹学的多阶段决策问题的典范。9三、现代运筹学发展史1908年丹麦电话工程师Erlang关于电话局中继线数目的话务理论是现代排队论研究的起源;英国的Lanchester关于战争中兵力部署的理论是现代军事运筹学最早的模型;20年代美国的Levinson关于最优发货量的研究是现代库存论和决策论发展的最初启示;30年代末苏联的康托诺维奇(Konterovitch)总结他研究工作而写成的小册子生产组织与计划中的数学方法是线性规划对工业生产问题的典型应用;30年代中后期英国应用新雷达系统对付德国飞机的骚扰的成

8、功,促使了在英美两国各个军事部门都相继成立了运筹小组,直到二战结束,相继转入民用部门。 1949年著名的RAND公司成立;1959年,由英、美、法三国运筹学学会发起成立了国际运筹学会联合会(IFORS);我国1982年加入该运筹学会联合会。10线性规划 线性规划是运筹学中最基本的模型,从数学上说,是一个特殊的条件极值问题:寻求一个线性函数在一组线性不等式条件下的最大值或最小值。 1939年Konterovitch首先提出生产配套问题;接着Hitchcok和Koopmans等分别提出运输问题(1940)和有限资源分配问题(1941);1947年,Dantzig提出了单纯形方法(simplex m

9、ethod)后,线性规划变成为一个独立学科,迅猛发展。1975年, Konterovitch和Koopmans由于创建了经济模型,经济理论以及数理经济方法,获得了Nobel经济学奖。其中包含他们对线性规划的卓越贡献。 线性规划由于广泛的应用和强有力的算法,是目前最成熟最成功的运筹学分支之一。11案例1 生产决策 某企业用四种资源生产三种产品,工艺系数、资源限量及价值系数如下表所示,问如制订生产计划,使得该企业获利最大。资源 产品ABC资源限量I986500II547450832300764550每件产品利润100807012问题理解:1对该企业来说,什么是生产计划?当前资料和条件是不是制定生产

10、计划的确定和必须条件?有没有需要补充的条件?本企业追求利润最大,与什么有关?成本、产量、销售量、收益、利润的关系是什么?234你是否清楚该企业的目标和实际约束(困难)?如何表述(表达)你所希望的目标和约束?假设:该企业产品都能够销售出去,即产量等于销售量。13分析问题:1变量设置设A、B、C三种产品的产量分别为123,x x x资源 产品ABC资源限量I986500II547450832300764550每件产品利润1008070根据问题,利润表达为1231008070yxxx(产品单位)企业所获得的总利润为y(货币单位)。三种产品消耗每种资源的总量不应该超过资源限量,即123986500 x

11、xx第I种资源限制条件123547450 xxx第II种资源限制条件123832300 xxx第III种资源限制条件123764550 xxx第IV种资源限制条件14资源 产品ABC资源限量I986500II547450832300764550每件产品利润1008070特别注意,由于A、B、C的产量为绝对产量,故不为负,即123,0 xxx那么该问题转化为数学问题就是求三元函数y在多个约束条件下的最大值,表达为123max1008070yxxxs.tsubject to123123123123123986500547450832300764550,0 xxxxxxxxxxxxxxx目标函数条件

12、约束变量约束15我们称123max1008070yxxx123123323123123986500547450832300764550,0 xxxxxxxxxxxxxxx 其中,max表示企业目标欲望(利润越大越好,如果是成本等,可能是越小越好,用min表示)。x1,x2,x3表示企业的决策变量,企业的一切行为和结果都与这些决策变量有关。该实际问题的数学模型。1162 注意到,目标函数和所有约束不等式(等于,大于等于,小于等于)都是决策变量x1,x2,x3的一次函数表达式,在代数上称为线性关系表达式,所以,这个数学模型又称为线性规划数学模型。3 目标函数是决策变量的一次和函数,表示目标利润(成

13、本,效率,时间等)可以由各个决策变量所代表的产品各自利润的和(按比例贡献);第i个线性约束(决策变量的一次和函数)表示每种产品对第i种资源的消耗是按照比例分配的,且这种消耗的累积不超过该种资源要求。 如果一个问题的目标是由各个决策变量对应的产品按照比例累积(和),且各种产品对每种资源的消耗都是严格按照比例分配的,那么该问题就可以描述为线性规划模型。17模型求解利用目前最好的优化软件lingo8.0,输入模型可以直接求解。模型输入完毕,并且没有错误,按这个按钮就可以。18求解结果: Global optimal solution found at iteration: 3 Objective v

14、alue: 5712.121 Variable Value Reduced Cost X1 24.24242 0.000000 X2 0.000000 8.484848 X3 46.96970 0.000000 Row Slack or Surplus Dual Price 1 5712.121 1.000000 2 0.000000 10.60606 3 0.000000 0.9090909 4 12.12121 0.000000 5 192.4242 0.000000决策变量非零分量的个数不超过条件约束的个数,且等于独立的条件约束的个数。在建立模型时,尽量写出全部独立的约束不等式。约束越全

15、面,非零分量就越多,也就是,市场信息越复杂,产品就越应该多样化。针对这个求解结果,还应该做解可行性分析,灵敏度分析等,这些都放在对偶分析中讲解。19本问题,建立更全面的模型如下:资源 产品A(x1)B(x2)C(x3)资源限量I9(r11)8(r12)6(r13)500(b1)II5(r21)4(r22)7(r23)450(b2)8(r31)3(r32)2(r33)300(b3)7(r41)6(r42)4(r43)550(b4)每件产品利润 100(c1)80(c2)70(c3)设x1,x2,x3表示A、B、C三种产品的产量;c1,c2,c3表示A、B、C三种产品的市场利润;b1,b2,b3,

16、b4表示I、II、III、IV四种原材料的限量;rij表示第j种产品消耗第i种资源的比例系数(j=1,2,3;i=1,2,3,4)。则数学模型为1 1223311 1122133121 1222233231 1322333341 14224334max.0,1,2,3jyc xc xc xr xr xr xbr xr xr xbstr xr xr xbr xr xr xbxj20引入向量和矩阵记法,有31m ax.0jjjyc xA xbs tx其中,资源 产品A(x1)B(x2)C(x3)资源限量I9(r11)8(r12)6(r13)500(b1)II5(r21)4(r22)7(r23)45

17、0(b2)8(r31)3(r32)2(r33)300(b3)7(r41)6(r42)4(r43)550(b4)每件产品利润100(c1)80(c2)70(c3)123(,)(1 0 0, 8 0, 7 0 )cccc1234(,)(500, 450,300,550)TTbbbbb123(,)Txxxx 4 39 8 65 4 78 3 27 64ijAr价值向量决策向量资源向量技术系数矩阵2131max.0jjjyc xAxbstx线性规划模型的向量写法sets:juece/1.3/:x,c;ziyuan/1.4/:b;jishu(ziyuan,juece):a;endsetsmax=sum(

18、juece:c*x);for(ziyuan(i):sum(juece(j):a(i,j)*x(j)=b(i);data:c=100,80,70;b=500,450,300,550;a=9,8,6 5,4,7 8,3,2 7,6,4;enddata这种输入模型的方法叫做集合式输入法,真对大型模型有利22 Global optimal solution found at iteration: 0 Objective value: 5712.121 Variable Value Reduced Cost X( 1) 24.24242 0.000000 X( 2) 0.000000 8.484848

19、X( 3) 46.96970 0.000000 C( 1) 100.0000 0.000000 C( 2) 80.00000 0.000000 C( 3) 70.00000 0.000000 B( 1) 500.0000 0.000000 B( 2) 450.0000 0.000000 B( 3) 300.0000 0.000000 B( 4) 550.0000 0.000000问题的解23 A( 1, 1) 9.000000 0.000000 A( 1, 2) 8.000000 0.000000 A( 1, 3) 6.000000 0.000000 A( 2, 1) 5.000000 0.0

20、00000 A( 2, 2) 4.000000 0.000000 A( 2, 3) 7.000000 0.000000 A( 3, 1) 8.000000 0.000000 A( 3, 2) 3.000000 0.000000 A( 3, 3) 2.000000 0.000000 A( 4, 1) 7.000000 0.000000 A( 4, 2) 6.000000 0.000000 A( 4, 3) 4.000000 0.000000 Row Slack or Surplus Dual Price 1 5712.121 1.000000 2 0.000000 10.60606 3 0.00

21、0000 0.9090909 4 12.12121 0.000000 5 192.4242 0.00000024sets:juece/1.3/:x,c;ziyuan/1.4/:b;jishu(ziyuan,juece):a;endsetsdata:c=100,80,70;b=500,450,300,550;a=9,8,6 5,4,7 8,3,2 7,6,4;enddatamax=sum(juece:c*x);for(ziyuan(i):sum(juece(j):a(i,j)*x(j)=b(i);集合段模型段数据段集合段以sets:开始,以endsets结束。给出下标集合名称,下标范围,以及与此

22、下标有关的符号变量。数据段是以data:开始,enddata结束;注意向量都是行写法,每个向量间用“;”隔开;注意矩阵的写法,先行后列输入方式,每行间回车,完毕用分号。模型段主要书写目标函数和约束函数,各行之间用分号隔开,变量默认非负。25案例2 运输问题 某部门有3个生产同类产品的工厂(产地),生产的产品由4个销售点(销地)出售,各工厂的生产量、各销售地的销售量(单位:吨)以及各个工厂到各个销售点的单位运价(元/吨)表示在下表中,要求研究产品如何调运,才能使得总运费最小。产地销地B1B2B3B4产量A141241116A22103910A38511622销量814121426问题理解1什么叫

23、做一个完整的调运方案?2产地的总产量和销售地的总销售量的关系如何?3总运费与什么有关?4产地的调出量和销地的销售量应该有什么限制?分析问题并建立模型设xij表示从第i产地调往第j销地的调运量;i=1,2,3;j=1,2,3,4,cij表示从第i产地调往第j销地的单位运费(运价);ai表示第i产地的产量;bj表示第j销地的销量;y表示总运费。27A1A2A3B4B3B2B1a1a2a3b1b2b3b4x11x21x31x12x22x32x13x23x33x14x24x34运输问题的网络示意图1 12 13 11xxxb1222322xxxb1323333xxxb1424344xxxb111213

24、141xxxxa212223242xxxxa313233343xxxxa28产地销地B1B2B3B4产量A14(c11)12(c12)4(c13)11(c14)16(a1)A22(c21)10(c22)3(c23)9(c24)10(a2)A38(c31)5(c32)11(c33)6(c34)22(a3)销量8(b1)14(b2)12(b3)14(b4)该问题的总产量等于总销售量,所以有311,2,3,4ijjixbj411, 2, 3ijijxai3411ijijijyc x 每个销地的销量约束每个产地的产量约束各条可能路线运费总和即该运输问题的数学模型为34113141min,1, 2,3,

25、 4.,1, 2,30,1, 2,3;1, 2,3, 4ijijijijjiijijijyc xxbjs txaixij 29运输问题的进一步讨论1产销不平衡产大于销,即11mnijijab这时,数学模型为34113141min,1,2,3,4.,1,2,30,1,2,3;1,2,3,4ijijijijjiijijijyc xxbjstxa ixij30产小于销,即11mnijijab34113141min,1,2,3,4.,1,2,30,1,2,3;1,2,3,4ijijijijjiijijijyc xxbjstxa ixij2计算程序编写注意本问题所涉及的不同下标范围,不同下标形式的字符变

26、量有哪些?单下标和双下标的不同定义方式。a书写集合段31单下标集合有产地产量集合和销地销量集合,与这两个集合有关的是运价和运量两个集合,称为派生集合(生成集合),或者称为由产量集合和销量集合组合成的笛卡尔集合,定义如下:endsetschanliang/1.3/:a;表示生成产量a(1),a(2),a(3);xiaoliang/1.4/:b;表示生成销量b(1),b(2),b(3),b(4)值得注意的是,这里的1,2,3,4表示变量下标自然顺序,不因为书写而改变。sets:chanliang/1,2,3/:a;xiaoliang/1,2,3,4/:b;yunjia(chanliang,xiao

27、liang):c,x;集合初始语句与前两个变量的下标都有关系的是运价和运量,所以,派生集合yunjia是双下标,第一个下标是chanliang集合的下标,第二下标是xiaoliang集合的下标,决策变量x和价值系数c都与此集合下标有关,表示为c(i,j),i=1,2,3;j=1,2,3,4;x(i,j),i=1,2,3;j=1,2,3,4。表示集合定义结束。注意,集合定义中,每个集合定义后,都用分号结束,每个集合有关的变量之间用逗号隔开。32b 书写模型段3411maxijijijyc x 把所有的c(i,j)*x(i,j),求和,则用如下表达方式c(1,1)*x(1,1)+c(1,2)*x(

28、1,2)+c(1,3)*x(1,3)+c(1,4)*x(1,4)+c(3,1)*x(3,1)+c(3,4)*x(3,4)。min=sum(yunjia(i,j):c(i,j)*x(i,j);min=sum(yunjia:c*x);对yunjia集合中每个元素(i,j),对c(i,j)*x(i,j)求和,表示如果对每对下标都求和,则上述两种表达方式一样。333141,1,2,3,4,1,2,3ijjiijijxbjxa i对每个销地,所有产地运来的货物量恰好等于销售量:for(xiaoliang(j):sum(chanliang(i):x(i,j)=b(j);对每个产地,运出的货物量总合恰好等于

29、该产地的产量:for(chanliang(i):sum(xiaoliang(j):x(i,j)=a(i);34产地销地B1B2B3B4产量A14(c11)12(c12)4(c13)11(c14) 16(a1)A22(c21)10(c22)3(c23)9(c24)10(a2)A38(c31)5(c32)11(c33)6(c34)22(a3)销量8(b1)14(b2)12(b3)14(b4)data:a=16,10,22;B=8,14,12,14;C=4,12,4,11 2,10,3,9 8,5,11,6;enddata35sets:chanliang/1.3/:a;xiaoliang/1.4/:

30、b;yunjia(chanliang,xiaoliang):c,x;endsetsmin=sum(yunjia:c*x);for(chanliang(i):sum(xiaoliang(j):x(I,j)=a(i);for(xiaoliang(j):sum(chanliang(i):x(I,j)=b(j);data:a=16,10,22;B=8,14,12,14;C=4,12,4,11 2,10,3,9 8,5,11,6;enddata程序组合及调试:注意:这三个模块,在lingo中放置与顺序无关。且,lingo读取程序与字母大小写无关。如果是产销不平衡,把某些=改成,即可。36sets:cha

31、nliang/1.3/:a;xiaoliang/1.4/:b;yunjia(chanliang,xiaoliang):c,x;endsetsdata:a=16,10,22;B=8,14,12,14;C=4,12,4,11 2,10,3,9 8,5,11,6;enddatamin=sum(yunjia:c*x);for(chanliang(i):sum(xiaoliang(j):x(I,j)=a(i);for(xiaoliang(j):sum(chanliang(i):x(I,j)=b(j);37 Global optimal solution found at iteration: 6 Obj

32、ective value: 244.0000 Variable Value Reduced Cost X( 1, 1) 4.000000 0.000000 X( 1, 2) 0.000000 2.000000 X( 1, 3) 12.00000 0.000000 X( 1, 4) 0.000000 0.000000 X( 2, 1) 4.000000 0.000000 X( 2, 2) 0.000000 2.000000 X( 2, 3) 0.000000 1.000000 X( 2, 4) 6.000000 0.000000 X( 3, 1) 0.000000 9.000000 X( 3,

33、2) 14.00000 0.000000 X( 3, 3) 0.000000 12.00000 X( 3, 4) 8.000000 0.00000038与运输问题有关的进一步思考:12该问题一般从生产销售单位考虑,如果从运输公司出发,会怎么样?有这类现象吗?那种场合会出现? Variable Value Reduced Cost X( 1, 1) 4.000000 0.000000 X( 1, 2) 0.000000 2.000000观察这组最优解,如果想要直接从产地1运输货物到销地2,应该有什么政策?如何实施。3如果运送的货物有若干种类,怎么办?这些货物有些可以混合运输,有些则不能混合运送,

34、怎么办?如果有不同的交通运输工具怎么分配?如果货物有运输时间限制,怎么办?垄断39案例3 货物装载问题 一艘轮船分前、中、后三个舱位,它们的容积与最大允载重量如表1。现有三种货物待运,已知有关数据列在表2。又为了安全,前、中、后的实际载重量大体保持各舱最大允许载重量的比例关系。具体要求:前、后舱分别与中舱之间的载重量比例上偏差不超过15%,前、后舱之间不超过10%。问轮船应装载A、B、C各多少件才能使运费收入最大?表1 三舱的允载重量与体积约束 前 舱中 舱后 舱最大允载重量(t)容 积(m3)2000 4000300054001500150040表2 三种货物的数量指标 问题理解1一个完整的

35、货物装载方案是什么?2如何理解“为了安全,前、中、后的实际载重量大体保持各舱最大允许载重量的比例关系。”41建立模型设xij表示第i种商品装入第j 舱的件数,其中,i=1,2,3表示A、B、C三种商品;j=1,2,3表示前、中、后三个舱位。商品参数符合变量:ai表示第i商品的数量上限;i=1,2,3vi表示第i商品的单位体积;wi表示第i商品的单位重量;pi表示第i商品的运输单价;船的装载参数约束:uj表示第j 舱位的体积上限;mj表示第j 舱位的重量上限;J=1,2,3;舱位间的重量比利系数:t1表示中舱与前、后舱位的载重比利系数;t2表示前后舱位之间载重比利系数。423311max()ii

36、jijypx31,1,2,3ijijxa is.t31,1,2,3iijjiwxmj311,2,3i ijjivxuj3321113210.15iiiiiiiiiw xw xw x装入三个舱位的商品带来的总运费。装入的每种商品的总件数不超过商品总数。每个舱位,装入的三种商品重量总和不超过舱位最大载重量。每个舱位,装入的三种商品总体积不超过舱位最大体积容量。前舱的实际载重量和中舱的实际载重量的偏差不超过0.15%3321113213332121113321110.150.150.85iiiiiiiiiiiiiiiiiiiiiiiiw xw xw xw xw xw xw xw x3321110.8

37、5iiiiiiwxwx433323113210.15iiiiiiiiiw xw xw x3313113110.10iiiiiiiiiw xw xw x后舱载重量与中舱载重量的偏差不超过0.15后舱与前舱载重量的偏差不超过10%。0,1,2,3;1,2,3ijxij3323110.85iiiiiiw xw x3313110.90iiiiiiwxwx44计算程序sets:shangpin/1.3/:a,w,v,p;cangwei/1.3/:u,m;fenpei(shangpin,cangwei):x;endsetsdata:a=600,1000,800;v=10,5,7;w=8,6,5;p=100

38、0,700,600;m=2000,3000,1500;u=4000,5400,1500;t1=0.15;t2=0.10;enddata45max=sum(shangpin(i):p(i)*sum(cangwei(j):x(i,j);for(shangpin(i):sum(cangwei(j):x(i,j)=a(i);for(cangwei(j):sum(shangpin(i):w(i)*x(i,j)=m(j);for(cangwei(j):sum(shangpin(i):v(i)*x(i,j)=u(j);(1-t1)*sum(shangpin(i):w(i)*x(i,2)=sum(shangp

39、in(i):w(i)*x(i,1);(1-t1)*sum(shangpin(i):w(i)*x(i,2)=sum(shangpin(i):w(i)*x(i,3);(1-t2)*sum(shangpin(i):w(i)*x(i,1)=sum(shangpin(i):w(i)*x(i,3);46 Global optimal solution found at iteration: 5 Objective value: 608921.6 Variable Value Reduced Cost X( 1, 1) 208.3333 0.000000 X( 1, 2) 220.5882 0.000000

40、 X( 1, 3) 75.00000 0.000000 X( 2, 1) 0.000000 50.00000 X( 2, 2) 0.000000 50.00000 X( 2, 3) 150.0000 0.000000 X( 3, 1) 0.000000 25.00000 X( 3, 2) 0.000000 25.00000 X( 3, 3) 0.000000 40.0000047特别注意,模型在lingo中的输入方式:3311max()iijijypxMax=sum(shangpin(i):p(i)*sum(cangwei(j):x(i,j);3321110.85iiiiiiw xw x0.8

41、5*sum(shangpin(i):w(i)*x(i,2)=sum(shangpin(i):w(i)*x(i,1);0.85*sum(fenpei(i,j)|j#eq#2:w(i)*x(i,j)=sum(shangpin(i)|j#eq#1:w(i)*x(i,j);48优化软件介绍Lingo的优化软件的使用方法Lingo安装完成,启动后,可以看到如下界面49 +(加法) -(减法) *(乘法) /(除法)(乘幂)#AND#(与) #OR#(或) #NOT#(非) #EQ#(等于) #NE#(不等于) #GT#(大于) #GE#(大于等于) #LT#(小于) #LE#(小于等于) (=)大于等于

42、算术运算符号逻辑运算符号 逻辑运算的结果只有“真”(TRUE)和“假”(FALES),lingo用1表示True,其它的都是False。关系运算符号在lingo程序下字母的大小写是没有区别的Lingo8.0的基本运算符号50常见运算函数abs cos exp floor(取整) lgm(自变量的gama函数的自然对数) smax(list)(返回列数的最大值) smin sin tan sign(示性函数)变量约束函数gin(取整约束) bin(0-1变量约束) free(自由变量约束) bnd(上下界约束函数) Lingo基本函数51function(setname(set_index_li

43、st)|condition:expression_list);集合循环函数 for对集合setname的每个元素独立生成约束,约束由expression_list描述。max、min、sum依次返回集合setname上的表达式的最大值、最小值、和。0.85*sum(fenpei(i,j)|j#eq#2:w(i)*x(i,j)=sum(shangpin(i)|j#eq#1:w(i)*x(i,j); 其中,function是集合函数名,有for,max,min,sum四种;setname是集合名;set_index_list是集合索引列表;condition是逻辑表达式描述的条件;expressi

44、on_list是一个表达式 ,对for函数可以有一组表达式 。 52for(jihe1(i)|i#LE#5#and#i#GE#2:x(i)=2); 利用sets建立一个序列的下标集合,这个问题就是建立了x1-x6,y1-y7这13个变量,Z11-z67由前面两个集合的下标共同生成了42个变量。由sets:开始,endsets结束。sets:jihe1/1.6/:x;jihe2/1.7/:y;link(jihe1,jihe2):z;endsets表示的意义为5,4,3,22ixi基本运算、集合、函数的表达53sum(jihe2(j)|j#NE#3:y(j)=4;for(jihe1(k)|k#GE

45、#2:gin(x);for(jihe1:bnd(1,x,10));for(jihe2:bnd(0,y,20);表示3471jyjj表示xk取整数,yk取0-1变量,k2表示对所有i,xi满足 1 xi10 对所有j,yj满足 0 yi20 for(jihe2(k)|k#GE#2:bin(y);54求和的表达ax101ii51i84jijijxcwminsets:subnb/1.10/:x;endsetssum(subnb(i):x(i)=a;sets:subnb1/1.5/:;subnb2/4,5,6,7,8/:;link(subnb1,subnb2):c,x;endsetsMin=sum(l

46、ink(i,j):c(i,j)*x(i,j);或写成Min=sum(link:c*x);55写出下列lingo程序表示的意义sets:sub1/1.5/:x,y;sub2/3,4,5,9/:z;link(sub1,sub2):p,q;endsetsmax=sum(link:p*q+10);for(sub2(i)|i#ne#4:z(i)=3;y(j)=3);for(link(i,j):x(i)*z(j)=10-p(i,j);y(i)*Z(j)0;建立模型333111maxiiiiiiiiizc xe xd ys.t311, 2, 3ijijif xbj661,2,3iixy Mi其中,M为产品的

47、最大产量,根据问题,产品的最大产量不超过100件,故设M=100;0,11,2,3iyi0,1, 2, 3ixi计算程序:sets:ziyuan/1.3/:b;chanpin/1.3/:c,x,y,d,e;link(chanpin,ziyuan):f;endsetsdata:b=500,300,100;c=8,10,12;e=4,5,6;d=100,150,200;f=2,2,1 4,3,2 8,4,3;M=100;enddata67max=sum(chanpin:c*x)-sum(chanpin:e*x)-sum(chanpin:d*y);for(ziyuan(j):sum(chanpin(

48、i):f(i,j)*x(i)=b(j);for(chanpin:x=M*y);for(chanpin:bin(y); Global optimal solution found at iteration: 4 Objective value: 300.0000 Variable Value Reduced Cost X( 1) 100.0000 0.000000 X( 2) 0.000000 0.000000 X( 3) 0.000000 1.500000 Y( 1) 1.000000 -50.00000 Y( 2) 0.000000 150.0000 Y( 3) 0.000000 200.0

49、000计算结果: 根据计算结果,只需要安排生产第1种产品,可以获得最大利润300。68案例6 混合配料问题 某糖果厂用原料A,B,C加工成三种不同牌号的糖果甲、乙、丙。已知各种牌号糖果中A,B,C含量、原料成本、各种原料的每月限制用量、三种牌号糖果的单位加工费及售价如下表所示。问该厂每月生产这三种牌号的糖果各多少kg,使该厂获利最大。试建立这个问题的线性规划的数学模型。69分析问题设xi表示第i种糖果的产量(kg),i=1,2,3;yij表示第i种糖果中原料j的含量;i=1,2,3,j=1,2,3qi表示每种糖果的加工费;pi表示每种糖果的售价;dj表示每种原料的单价;bj表示每种原料的每月限

50、用量;cij表示第i种糖果中原料j的含量要求(%)。7033331111max()iiiijijiijizp xq xdys.t31,1, 2,3iijjxyi31,1, 2,3ijjiybj1,2,3;1,2ijijiycijx,1,2,3;3ijijiycijx0,1,2,3;1,2,3ijyij71max=sum(tangguo:p*x)-sum(tangguo:q*x)-sum(yuanliao(j):d(j)*sum(tangguo(i):y(i,j);for(tangguo(i):x(i)=sum(yuanliao(j):y(i,j);for(yuanliao(j):sum(tan

51、gguo(i):y(i,j)=x(i)*c(i,j);for(link(i,j)|j#ge#3:y(i,j)=c(j);sum(moshi:y)=3;for(moshi:x/100=y);for(moshi:y=c(j);for(moshi(i):16=sum(yonghu(j):b(j)*x(i,j);for(moshi(i):sum(yonghu(j):b(j)*x(i,j)=c(j);for(moshi(i):sum(yonghu(j):b(j)*x(i,j)=16);for(moshi(i):sum(yonghu(j):b(j)*x(i,j)=19);for(link:gin(x);f

52、or(moshi:gin(y);for(moshi:y=15);for(link:x=3);在解决第1个问题基础上,增加这两个条件,计算收敛速度快10倍。否则,可能存不可行。这个上界不宜太小,也不宜太大!89 Global optimal solution found at iteration: 4862 Objective value: 0.000000 Variable Value Reduced Cost Y( 1) 14.00000 0.000000 Y( 2) 15.00000 0.000000 Y( 3) 11.00000 0.000000 X( 1, 1) 2.000000 0.

53、2596895E-07 X( 1, 2) 1.000000 0.000000 X( 1, 3) 1.000000 0.1517287E-06 X( 2, 2) 1.000000 0.000000 X( 2, 3) 1.000000 0.1067591E-06 X( 2, 4) 1.000000 0.4043221E-07 X( 3, 1) 2.000000 0.000000 X( 3, 2) 1.000000 0.000000 X( 3, 3) 1.000000 0.00000090航班编排问题 某航空公司经营A,B,C三个城市的航线,这些航线每天班次起飞与到达时间如下表所示。 设飞机在机场停留的损失费大致与停留时间的平方成正比,又每架飞机从降落到下班起飞至少需2小时准备时间,试决定一个使停留费用损失为最小的分派飞行方案。航班号 起飞城市 起飞时间 到达城市 到达时间101 A 9:00 B 12:00102 A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论