1、线性规划和非线性规划,数学实验第五讲,实验目的,1) 了解最优化问题的基本结构和基本建模方法;2) 线性规划的求解方法;3) 非线性规划的求解方法.,一,优化问题的普遍性以及引例,1,无处不在的优化 每一个人,高致总统首相,总裁经理,平民百姓,无不在做决策:该做什么,该怎么做,才能有最好的效果? 甚至自然中的动植物,也时刻面临这样的问题. 类似的问题,还广泛的存在于无机世界中.,一,优化问题的普遍性以及引例,看看下面的例子分别属于哪一类? a)证券的投资组合;b)国家经济发展战略; c)产品规格、性能设计;d)球形的水滴; e)狼群的集体捕食;f)好的购物方案; g)物质分子结构; h)生物的
2、身体构造; i)乘务组排班表; j)光传播路径:直线,反射,折射 课堂作业:和你的同桌讨论还有什么方面需要优化的。,一,优化问题的普遍性以及引例,2,一些成功的优化例子: “最优人员安排”为美国航空每年节约两千万美元. “改进的出货流程”每年为Yellow Freight 公司节约一千七百多万美元. “改进的卡车分派”为 Reynolds 公司每年节约七百万美元 . 最优全局供应链为数字设备行业节约超过三亿美元. 重建的 North America Operations, Proctor and Gamble减少 20%的工厂, 每年节约两亿美元. 大阪的Hanshin高速的最优安排每年节约一
3、千七百万人小时 .,为说明最优化 的价值,建立了专 门的网站,列举了 哪些公司的什么问 题,运用最优化方 法节约和增加了多 少金额.有可选的行业, 考察的方面,受益 的方式,希望同学 们各选择其中的一 个,提一份报告,以 说明最优化的价值.,一,优化问题的普遍性以及引例,Google上相关搜索的结果: Search phrase number of hits(英文) 短语 点击数(中文) “optimize the supply chain”1,160,000 优化供应链414,000 “optimize (the) return” 2,490,000 优化回报 453,000 “optima
4、l experience” 32,400,000 最优经历 “optimal investment” 8,320,000 优化投资 8,250,000 “optimal system” 84,200,000 优化系统 13,800,000 “optimal decision” 28,800,000 最优决策 2,890,000 “optimize your PC” 3,300,000 优化你的PC “optimal choice” 25,800,000 最优选择10,900,000 “optimal design” 77,300,000 优化设计 1,270,000 “optimal heal
5、th” 31,900,000 优化健康 还有如:优化产业结构 2,830,000 优化人员结构 3,110,000 同学们有没有发现,英文和中文短语间有很大的不同,原因可能是什么?,一,优化问题的普遍性以及引例,3,相关的几句格言: Waste neither time nor money, but make the best use of both. - Benjamin Franklin Obviously, the highest type of efficiency is that which can utilize existing material to the best adva
6、ntage. -Jawaharlal Nehru It is more probable that the average man could, with no injury to his health, increase his efficiency fifty percent.-Walter Scott 请同学翻译上面的句子,你喜欢那一句?你有什么好的 表述?,引例1,动物饲料配置问题,美国一家公司以专门饲养并出售一种实验用的动物而闻名。这种动物的生长对饲料中的三种营养成分特别敏感,即蛋白质、矿物质和维生素。,现有五种饲料,公司希望找出满足动物营养需要使成本达到最低的混合饲料配置。,每一种
7、饲料每磅所含的营养成分,每种饲料每磅的成本,引例2:供应与选址,某公司有6个建筑工地要开工,每个工地的位置(用平面坐标a,b表示,距离单位:千米)及水泥日用量d 吨由下表给出。目前有两个临时料场位于A(5,1), B(2,7),日储量各有20吨。假设从料场到工地均有直线道路相连,(1)试制定每天的供应计划,即从A、B 两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。,二,优化问题建模的基本步骤介绍,在我们的生活中,始终有这样的问题:为了一定的目的做一些事情,我们可能要考虑有哪些重要的因素,这些因素和要完成的目标之间有什么样的关系.也就是说,我们在做一个决定时,会注意下面的三个要点: 目的
8、是什么? 有哪些重要的因素? 这些因素和你的目标之间有什么样的关系?,二,优化问题的表述,目标函数对应决策者而言,对其有利的程度必须定量的测度, 在商业应用中,有效性的测度经常是利润或者成本, 但对于政府,更经常的使用投入产出率来测度.表示有效性测度的经常称为目标函数.目标函数要表出测度的有效性, 必须说明测度和导致测度改变的变量之间的关系. 系统变量分为决策变量和参数.决策变量是指能由决策者直接控制的变量. 而参数是指不能由决策者决定的量.实际上,数学模型很少有能表达变量和有效性测度之间的精确关系的. 实际上,运筹学分析者的任务就是找出对测度有最重要影响的变量 然后找出这些变量和测度之间的数
9、学关系.这个数学关系也就是目标函数.,二,优化问题的表述,决策变量和参数我们称对应决策者可控的量称为决策变量,决策变量的取值确定了系统的最终性能,也是决策者采用决策的依据.在系统中还有一些量,它不能由决策者所控制,而是由系统所处的环境所决定,我们称之为参数.,二,优化问题的表述,约束条件约束条件就是决策变量和参数之间的关系. 约束集界定决策变量可以取某些值而不能取其他的值.比如对应生产问题, 任何活动中,时间和物品不能为负数.当然,也有一些优化问题不带约束条件,我们称之为无约束优化问题.而在实际问题中,决策变量带有约束是普遍的.,三,优化问题的分类,优化问题的分类可以从几个方面进行: 1,从变
10、量取值的连续和离散可以分成:连续优化,离散优化和混合优化 2,从问题的线性非线性可以分为:线性规划和非线性规划 3,从变量是确定性和随机性可以分为:随机规划和确定性问题.,John Von Neumann,约翰冯诺依曼(19031957),美藉匈牙利人.20世纪最杰出的数学家之一,被誉为”计算机之父”,”博弈论之父”.被认为是数学规划的三大创始人之一.,以下的三个人物和线性规划的出现有重要的关系.,George B. Dantzig,George B. Dantzig(1914-2005),美国人,线性规划单纯形法的创始人,被誉为”线性规划之父”.美国科学院三院院士,美国军方数学顾问,教授.并
11、以其名字设立Dantzig奖.数学规划的三大创始人之一. 发现算法时非常年轻,以至到日本时,人们以为”线性规划之父”是个老人,而对他无人问津.,Leonid Vitalyevich Kantorovich,Kantorovich(1912-1986)苏联人,著名数学家和经济学家,教授,年仅18岁获博士学位.因在经济学上提出稀缺资源的最优配置获诺贝尔奖.线性规划对偶理论的提出者,数学规划的三大创始人之一.,非线性规划问题在实践中也是及其常见的.标志着这一学科的产生的奠基性工作由美国的数学家Tucker和Kuhn在1952年的一篇文章.该文章给出了非线性规划问题的必要条件和充分条件,后来成为Kuh
12、n-Tucker条件.这为非线性规划问题的求解算法的提出提供了理论基础和算法的基本思路. 相关的规划问题,比如多目标规划,决策论等等.,美国一家公司以专门饲养并出售一种实验用的动物而闻名。这种动物的生长对饲料中的三种营养成分特别敏感,即蛋白质、矿物质和维生素。,现有五种饲料,公司希望找出满足动物营养需要使成本达到最低的混合饲料配置。,四,线形规划问题的解法及举例,每一种饲料每磅所含的营养成分,每种饲料每磅的成本,建立数学模型,决策变量:在混合饲料中,每天所需第j种饲料的磅数xj,j = 1,2,3,4,5;, 约束条件:蛋白质:0.30x1+2x2+x3+0.6x4+1.8x570矿物质:0.
13、10x1+0.05x2+0.02x3+0.2x4+0.05x53维生素:0.05x1+0.1x2+0.02x3+0.2x4+0.08x510 自然约束条件:xi0, 确定目标:混合饲料的成本最低0.02x1+0.07x2+0.04x3+0.03x4+0.05x5min,完整的线性规划模型: min 0.02x1+0.07x2+0.04x3+0.03x4+0.05x5 s.t. 0.30x1+2x2+x3+0.6x4+1.8x5700.10x1+0.05x2+0.02x3+0.2x4+0.05x530.05x1+0.1x2+0.02x3+0.2x4+0.08x510xj0 j = 1,2,3,4
14、,5;,min cTx s.t. Axbx0,归纳:,返 回,linprog min cTxs.t. AxbAeqx beqlb x ub Solve a linear programming problem where c, x, b, beq, lb, and ub are vectors and A and Aeq are matrices. 调用格式:x = linprog(f,A,b,Aeq,beq) x = linprog(f,A,b,Aeq,beq,lb,ub) x = linprog(f,A,b,Aeq,beq,lb,ub,x0) x = linprog(f,A,b,Aeq,b
15、eq,lb,ub,x0,options) x,fval = linprog(.) x,fval,exitflag = linprog(.) x,fval,exitflag,output = linprog(.) x,fval,exitflag,output,lambda = linprog(.),原油生产计划,1:1 加工费: 4元/桶 能力: = 14000桶/天,I: 安排生产计划,在满足需求的条件下使利润最大,决策变量:,目标:,约束:,总利润最大,需求限制; 原料限制;含量限制; 非负限制,含量限制,非负限制,原料限制,需求限制,约束,总盈利:126000元,c=45 45 45 35
16、 35 35 25 25 25; a1=1 0 0 1 0 0 1 0 0;0 1 0 0 1 0 0 1 0;0 0 1 0 0 1 0 0 1; a2=1 1 1 0 0 0 0 0 0;0 0 0 1 1 1 0 0 0;0 0 0 0 0 0 1 1 1;-12 0 0 -6 0 0 -8 0 0;0 -12 0 0 -6 0 0 -8 0;0 0 -12 0 0 -6 0 0 -8;0.5 0 0 2 0 0 3 0 0;0 0.5 0 0 2 0 0 3 0;0 0 0.5 0 0 2 0 0 3; b1=3000 2000 1000; b2=5000 5000 5000 -300
17、00 -16000 -6000 3000 4000 1000; v1=zeros(1,9); x f=linprog(c,a2,b2,a1,b1,v1) z=356000-f,II: 通过广告增加销售(1元广告费:增加10桶销售),决策变量:,目标:,约束:,总利润最大,需求限制; 原料限制; 产量限制; 含量限制; 非负限制,含量限制,非负限制 产量限制,原料限制,需求限制,约束,总盈利:287750元,c=49 49 49 39 39 39 29 29 29 -699 -599 -499; a1=1 0 0 1 0 0 1 0 0 -10 0 0;0 1 0 0 1 0 0 1 0 0 -
18、10 0;0 0 1 0 0 1 0 0 1 0 0 -10; a2=1 1 1 0 0 0 0 0 0 0 0 0;0 0 0 1 1 1 0 0 0 0 0 0;0 0 0 0 0 0 1 1 1 0 0 0;-12 0 0 -6 0 0 -8 0 0 100 0 0;0 -12 0 0 -6 0 0 -8 0 0 80 0;0 0 -12 0 0 -6 0 0 -8 0 0 60;0.5 0 0 2 0 0 3 0 0 -10 0 0;0 0.5 0 0 2 0 0 3 0 0 -20 0;0 0 0.5 0 0 2 0 0 3 0 0 -100 0 0 0 0 0 0 0 0 1 1
19、1; b1=3000 2000 1000; b2=5000 5000 5000 -30000 -16000 -6000 3000 4000 1000 800; v1=zeros(1,12); x f=linprog(c,a2,b2,a1,b1,v1) z=380000-f,某公司有6个建筑工地,位置坐标为(ai, bi) (单位:公里),水泥日用量di (单位:吨),假设:料场和工地之间有直线道路,五,非线形规划问题的解法及举例,用例中数据计算,最优解为,总吨公里数为136.2,线性规划模型,决策变量:ci j (料场j到工地i的运量)12维,Shili084lin.m,选址问题:NLP,2)
20、改建两个新料场,需要确定新料场位置(xj,yj)和运量cij ,在其它条件不变下使总吨公里数最小。,决策变量: ci j,(xj,yj)16维,非线性规划模型,结果:总吨公里数为85.3,但局部最优解问题严重,Shili084.m: shili084fun.m,决策变量:ci ,(xj,yj)10维,计算方法的改善,局部最优解问题有所改进,+为工地, 数字为用量; *为新料场, 数字为供应量。,约束非线性规划情形,标准模型,fmincon语句的具体用法,x,fval,exitflag,output=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,con), 建立m文件函数fu
21、nction f,G=fun(x)f=f(x);G=G1(x),G2(x);, 选项options输出参数options(8)=目标函数最优值;输入参数options(13)=等式约束的个数(m); L,U是决策变量的下界和上界;,2、fmincon语句的具体用法,max f(x) = x12+ x22-x1x2-2x1-5x2 s.t. -(x1 1)2+ x2 02 x1-3x2+60, x0=0, 1,例2,fmincon语句的具体用法,转化成标准形,min f(x) =- x12- x22+x1x2+2x1+5x2 s.t. (x1 1)2 - x2 0-2 x1+3x2 60, x0
22、=0, 1, function f=fun22(x) f=-x(1)2-x(2)2+x(1)*x(2)+2*x(1)+5*x(2);, function G,Geq = cont2(x)G=(x(1)-1)2 - x(2);Geq=;, x0=0 1; A=-2,3;b=6;Aeq=;beq=;lb=;ub=; fun22 x,fval=fmincon(fun22,x0,A,b,Aeq,beq,lb,ub,cont2), x = 1.0e+008*-0.0006 -2.7649fval = -7.6432e+016,fun22= -x(1)2-x(2)2+x(1)*x(2)+2*x(1)+5*
23、x(2),fmincon语句的具体用法,例,fmincon语句的具体用法,function fm=ex02(x) n=10; c=-6.089,-17.164,-34.054,-5.914, -24.721,-14.986,-24.1,-10.708, -26.662,-22.179; sx=0; for i=1:nsx=sx+x(i); % end fm=0; for i=1:nfm=fm+x(i)*(c(i)+log(x(i)/sx); end,1) 建立目标函数 ex02.m,供应与选址,某公司有6个建筑工地要开工,每个工地的位置(用平面坐标a,b表示,距离单位:千米)及水泥日用量d 吨
24、由下表给出。目前有两个临时料场位于A(5,1), B(2,7),日储量各有20吨。假设从料场到工地均有直线道路相连,(1)试制定每天的供应计划,即从A、B 两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。,(2)为进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量仍各为20吨,问应建在何处,节省的吨千米数有多大?,供应与选址,范例:供应与选址,(a1, b1), d1 = 3,(a2, b2), d2 =5,(a6, b6), d6= 11,A(x1, y1) e1 = 20,B(x2, y2) e2 = 20,x11,x12,x16,x21,x26,x22,建立规划模型,记
25、工地的位置为(ai, bi),水泥日用量为di, i = 1,6,料场位置为(xj, yj), 日储量为ej, j=1,2;从料场j向工地运送量为xij(决策变量)。, 当料场位置为(xi, yi)为已知时, 上述模型为线性规划模型。从料场i向工地运送量为xij(决策变量)。 当料场位置为(xi, yi)为未知时, 上述模型为非线性规划模型。对决策变量(xi, yi)而言。 如何求解?,其中a,b,d,e 都是常数向量(数组)。 当料场位置为(xj, yj)为已知时, 上述模型为线性规划模型。从料场j向工地运送量为xij(决策变量)。,思考:矩阵形式, 当料场位置为(xi, yi)为未知时,
26、上述模型为非线性规划模型。对决策变量(xi, yi)而言。,线性规划求解结果: 最优目标值f = 136.23(吨千米),程序liaocx.m,function f,g=liaoch(x) 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 20; f1=0; for j=1:6 s(j)=sqrt(x(13)-a(j)2+(x(14)-b(j)2); f1= f1 + s(j)*x(j);%A(x13,x14)到各工地的吨公里数 end f2=0;,for i=7:12 s(i)=s
27、qrt(x(15)-a(i-6)2+(x(16)-b(i-6)2); f2= f2 + s(i)*x(i);%B(x15,x16)到各工地的吨公里数 end f=f1+f2;% 总的目标函数 for i=1:6g(i)=x(i)+x(i+6)-d(i);%第一组约束条件 end g(7)=sum(x(1:6)-e(1); g(8)=sum(x(7:12)-e(2); %第二组约束条件,x0=ones(1,12); L=zeros(1,12); opt(13)=6; x,opt=constr(liaoch,x0,opt,L) f=opt(8),n=opt(10),MATLAB运行程序(liaoc
28、hj.m),计算结果:最优目标值f = 93.14(吨千米),新料场位置的改变,目标值比原来减少了43.1吨千米。,原最优目标值f = 136.23,六,实验布置,实验目的1) 了解最优化问题的基本结构和基本建模方法;2) 线性规划的求解方法;3) 非线性规划的求解方法.,1,(糖果生产计划)某糖果公司用三种原料: 糖/果仁/巧克力生产两种糖果A和B.所有重量单位为公斤,所有价格单位为元 .假定原料混合过程中重量既不增加也不减少.三种原料分别只有100/20/30公斤,并要求糖果A中的果仁和巧克力含量不少于10%,糖果B中的果仁含量不少于20%.糖果A和B的单价分别为25元和20元.问如何安排
29、生产才能得到最高的收益.试建立相应的数学模型并进行求解.,2,(运输问题)从Toronto和Detroit两市分别有两批货物途径Chicago和Buffalo最终到达New York、Phila.和St.louis市.之间的路线表述如下图:,其中Toronto和 Detroit 分别有600和500的货物需要运出,New York、Phila. 和St.louis的货物需求分别是450、350和300.每一段上的运输单价如下面两表:,问:如何进行运输安排使整个的运输费用最少?试建立问题的数学模型并求出最有解。,3、求解非线性规划,4、桃李花园服务中心选址,初始点x0=20,20,设(ai, bi)(i=120)为第i 栋住宅楼的坐标; a = 29.74 4.9 69.32 65.0 98.3 55.27 40.0 19.8 62.5 73.3 37.58 0.98 41.98 75.37 79.38 92.0 84.47 36.77 62.08 73.13; b = 19.39 90.48 56.92 63.18 23.44 54.88 93.16 33.5 65.5 39.19 62.73 69.9 39.72 41.37 65.5283.75 37.16 42.52 59.46 56.58;,