数学建模第五章数学规划模型幻灯片.ppt
《数学建模第五章数学规划模型幻灯片.ppt》由会员分享,可在线阅读,更多相关《数学建模第五章数学规划模型幻灯片.ppt(117页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数学建模第五章数学规划模型第1页,共117页,编辑于2022年,星期六第五章第五章 数学规划模型数学规划模型 黑龙江科技学院 数数 学学 建建 模模 理学院理学院第2页,共117页,编辑于2022年,星期六第五章第五章 数学规划模型数学规划模型 数学规划论起始数学规划论起始20世纪世纪30年代末年代末,50年年代与代与60年代年代发展成为一个完整的分支并受发展成为一个完整的分支并受到数学界和社会各界的重视。到数学界和社会各界的重视。七八十年代七八十年代是是数学规划飞速发展时期,无论是从理论上还是数学规划飞速发展时期,无论是从理论上还是算法方面都得到了进一步完善。时至今日数学算法方面都得到了进一
2、步完善。时至今日数学规划仍然是运筹学领域中热点研究问题。从国规划仍然是运筹学领域中热点研究问题。从国内外的数学建模竞赛的试题中看,有近内外的数学建模竞赛的试题中看,有近1/4的问的问题可用数学规划进行求解。题可用数学规划进行求解。黑龙江科技学院 数数 学学 建建 模模理学院理学院第3页,共117页,编辑于2022年,星期六动态规划模型动态规划模型数学规划模型数学规划模型第五章非线性规划模型非线性规划模型重点重点:数学规划模型的建立和求解数学规划模型的建立和求解难点难点:数学规划模型的基本原理及数值计算数学规划模型的基本原理及数值计算线性规划模型线性规划模型 黑龙江科技学院 数数 学学 建建 模
3、模 理学院理学院建模举例建模举例多目标规划模型多目标规划模型 整数规划模型整数规划模型 第4页,共117页,编辑于2022年,星期六1、例、例1:某机床厂生产甲、乙两种机床,每台销售后某机床厂生产甲、乙两种机床,每台销售后的利润分别为的利润分别为4000元与元与3000元。生产甲机床元。生产甲机床需用需用A,B机器加工,加工时间分别为每台机器加工,加工时间分别为每台2小小时和时和1小时;生产乙机床需用小时;生产乙机床需用A,B,C三种机三种机器加工,加工时间为每台各一小时。若每天可器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为用于加工的机器时数分别为A机器机器10小时、小时、
4、B机器机器8小时和小时和C机器机器7小时,问该厂应生产甲、小时,问该厂应生产甲、乙机床各几台,才能使总利润最大?乙机床各几台,才能使总利润最大?黑龙江科技学院 数数 学学 建建 模模理学院理学院第5页,共117页,编辑于2022年,星期六设该厂生产x1台甲机床和x2台乙机床时总利润最大,则x1,x2应满足:目标函数:约束条件:黑龙江科技学院 数数 学学 建建 模模理学院理学院第6页,共117页,编辑于2022年,星期六一般线性规划问题的标准型为线性规划的Matlab标准形式 黑龙江科技学院 数数 学学 建建 模模理学院理学院第7页,共117页,编辑于2022年,星期六线性规划模型矩阵的形式:例
5、如线性规划 Matlab标准型为 黑龙江科技学院 数数 学学 建建 模模理学院理学院第8页,共117页,编辑于2022年,星期六4、线性规划的图解法本例的最优解为 最优目标值 黑龙江科技学院 数数 学学 建建 模模理学院理学院第9页,共117页,编辑于2022年,星期六5、求解线性规划的Matlab解法 单纯形法单纯形法是首先由George Dantzig于1947年提出的,近60年来,虽有许多变形体已被开发,但却保持着同样的基本观念。由于有如下结论结论:若线性规划问题有有限最优解,则一定有某个最优解是可行区域的一个极点。基于此,单纯形法的基本思路是基本思路是:先找出可行域的一个极点,据一定规
6、则判断其是否最优;若否,则转换到与之相邻的另一极点,并使目标函数值更优;如此下去,直到找到某一最优解为止。黑龙江科技学院 数数 学学 建建 模模理学院理学院第10页,共117页,编辑于2022年,星期六 Matlab2008b中线性规划的标准型为:基本函数形式为linprog(c,A,b),它的返回值是向量的值。还有其它的一些函数调用形式(在 Matlab 指令窗运行 help linprog 可以看到所有的函数调用形式),如:x,fval=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)这里fval返回目标函数的值,Aeq和beq对应等式约束,LB和UB分别是变
7、量的下界和上界,是的初始值,OPTIONS是控制参数。黑龙江科技学院 数数 学学 建建 模模理学院理学院第11页,共117页,编辑于2022年,星期六例例5.1.2 求解下列线性规划问题解解(i)编写M文件c=2;3;-5;a=-2,5,-1;b=-10;aeq=1,1,1;beq=7;x=linprog(-c,a,b,aeq,beq,zeros(3,1)value=c*x(ii)将M文件存盘,并命名为example1.m。(iii)在Matlab指令窗运行example1即可得所求结果。黑龙江科技学院 数数 学学 建建 模模理学院理学院第12页,共117页,编辑于2022年,星期六例例5.1
8、.3 求解线性规划问题 解解 编写Matlab程序如下:c=2;3;1;a=1,4,2;3,2,0;b=8;6;x,y=linprog(c,-a,-b,zeros(3,1)黑龙江科技学院 数数 学学 建建 模模理学院理学院第13页,共117页,编辑于2022年,星期六例例5.15拟分配n人去干n项工作,每人干且仅干一项工作,若分配第i人去干第j项工作,需花费cij单位时间,问应如何分配工作才能使工人花费的总时间最少?引入变量xij,若分配i干j工作,则取xij=1,否则取xij=0。上述指派问题的数学模型为:指派问题指派问题 黑龙江科技学院 数数 学学 建建 模模理学院理学院第14页,共117
9、页,编辑于2022年,星期六可行解既可以用一个矩阵(称为解矩阵)表示,其每行每列均有且只有一个元素为1,其余元素均为0,也可以用1,n中的一个置换表示。求解指派问题的匈牙利算法求解指派问题的匈牙利算法 由于指派问题的特殊性,又存在着由匈牙利数学家D.Konig提出的更为简便的解法匈牙利匈牙利算法算法。算法主要依据以下事实:如果系数矩阵C=cij一行(或一列)中每一元素都加上或减去同一个数,得到一个新矩阵B=bij,则以C或B为系数矩阵的指派问题具有相同的最优指派。黑龙江科技学院 数数 学学 建建 模模理学院理学院第15页,共117页,编辑于2022年,星期六可将原系数阵C变换为含零元素较多的新
10、系数阵B,而最优解不变。若能在B中找出n个位于不同行不同列的零元素,令解矩阵中相应位置的元素取值为1,其它元素取值为0,则所得该解是以B为系数阵的指派问题的最优解,从而也是原问题的最优解。由C到B的转换可通过先让矩阵C的每行元素均减去其所在行的最小元素得矩阵D,D的每列元素再减去其所在列的最小元素得以实现。黑龙江科技学院 数数 学学 建建 模模理学院理学院第16页,共117页,编辑于2022年,星期六例例5.1.6 求解指派问题,其系数矩阵为 将第一行元素减去此行中的最小元素15,同样,第二行元素减去17,第三行元素减去17,最后一行的元素减去16,得 黑龙江科技学院 数数 学学 建建 模模理
11、学院理学院第17页,共117页,编辑于2022年,星期六再将第3列元素各减去1,得 以B2为系数矩阵的指派问题有最优指派 即 黑龙江科技学院 数数 学学 建建 模模理学院理学院第18页,共117页,编辑于2022年,星期六例例5.1.7 求解系数矩阵求解系数矩阵C的指派问题的指派问题解解 先作等价变换如下先作等价变换如下 黑龙江科技学院 数数 学学 建建 模模理学院理学院第19页,共117页,编辑于2022年,星期六容易看出,从变换后的矩阵中只能选出四个位于不同行不同列的零元素,但n=5,最优指派还无法看出。此时等价变换还可进行下去。步骤如下:(1)对未选出0元素的行打;(2)对行中0元素所在
12、列打;(3)对列中选中的0元素所在行打;重复(2)、(3)直到无法再打为止。可以证明,若用直线划没有打的行与打的列,就得到了能够覆盖住矩阵中所有零元素的最少条数的直线集合,找出未覆盖的元素中的最小者,令行元素减去此数,列元素加上此数,则原先选中的0元素不变,而未覆盖元素中至少有一个已转变为0,且新矩阵的指派问题与原问题也等价。黑龙江科技学院 数数 学学 建建 模模理学院理学院第20页,共117页,编辑于2022年,星期六上述过程可反复采用,直到能选取出足够的0元素为止。例如,对例5.1.7变换后的矩阵再变换,第三行、第五行元素减去2,第一列元素加上2,得 最优指派为 黑龙江科技学院 数数 学学
13、 建建 模模理学院理学院第21页,共117页,编辑于2022年,星期六建模举例:营养配餐问题建模举例:营养配餐问题 每种蔬菜含有的营养素成份是不同的,从医学上知道,每种蔬菜含有的营养素成份是不同的,从医学上知道,每人每周对每种营养成分的最低需求量。某医院营养室每人每周对每种营养成分的最低需求量。某医院营养室在制定下一周菜单时,需要确定表在制定下一周菜单时,需要确定表2-42-4中所列六种蔬菜的中所列六种蔬菜的供应量,以便使费用最小而又能满足营养素等其它方面供应量,以便使费用最小而又能满足营养素等其它方面的要求。规定白菜的供应一周内不多于的要求。规定白菜的供应一周内不多于2020千克,其它蔬千克
14、,其它蔬菜的供应在一周内不多于菜的供应在一周内不多于4040千克,每周共需供应千克,每周共需供应140140千克千克蔬菜,为了使费用最小又满足营养素等其它方面的要求,蔬菜,为了使费用最小又满足营养素等其它方面的要求,问在下一周内应当供应每种蔬菜各多少千克?问在下一周内应当供应每种蔬菜各多少千克?黑龙江科技学院 数数 学学 建建 模模理学院理学院第22页,共117页,编辑于2022年,星期六表表5-4 黑龙江科技学院 数数 学学 建建 模模理学院理学院第23页,共117页,编辑于2022年,星期六问题分析问题分析设设 分别表示下一周内应当供应的青分别表示下一周内应当供应的青豆、胡萝卜、菜花、白菜
15、、甜菜及土豆的量,豆、胡萝卜、菜花、白菜、甜菜及土豆的量,费用费用目标函数目标函数为:为:约束条件:约束条件:铁的需求量至少铁的需求量至少6 6个单位数:个单位数:磷的需求量至少磷的需求量至少2525个单位数:个单位数:黑龙江科技学院 数数 学学 建建 模模理学院理学院第24页,共117页,编辑于2022年,星期六问题分析问题分析维生素维生素A A的需求量至少的需求量至少1750017500个单位:个单位:维生素维生素C C的需求量至少的需求量至少245245个单位:个单位:烟酸的需求量至少烟酸的需求量至少5 5个单位数:个单位数:每周需供应每周需供应140140千克蔬菜,即千克蔬菜,即 黑龙
16、江科技学院 数数 学学 建建 模模理学院理学院第25页,共117页,编辑于2022年,星期六模型的建立模型的建立00 x x140 0140 0 x x240 0240 0 x x34034000 x x420 0420 0 x x540 0540 0 x x640640 黑龙江科技学院 数数 学学 建建 模模理学院理学院第26页,共117页,编辑于2022年,星期六模型求解模型求解利用Matlab软件编程序:%营养配餐ch21%文件名:ch21 mc=5;5;8;2;6;3;A=(-1)*1,1,1,1,1,1;0.45,0.45,1.05,0.40,0.50,0.50;10,28,59,2
17、5,22,75;415,9065,2550,75,15,235;8,3,53,27,5,8;0.30,0.35,0.60,0.15,0.25,0.80;b=(-1)*140;6;25;17500;245;5;xLB=zeros(6,1);xUB=40;40;40;20;40;40;nEq=1;x0=0*ones(6,1);x=lp(c,A,b,xLB,xUB,x0,nEq);黑龙江科技学院 数数 学学 建建 模模理学院理学院第27页,共117页,编辑于2022年,星期六模型求解模型求解执执行行输输出出disp(青豆需要的份数青豆需要的份数)x(1)disp(胡罗卜需要的份数胡罗卜需要的份数 )
18、x(2)disp(菜花需要的份数菜花需要的份数 )x(3)disp(白菜需要的份数白菜需要的份数 )x(4)disp(甜菜需要的份数甜菜需要的份数 )x(5)disp(土豆需要的份数土豆需要的份数)x(6)黑龙江科技学院 数数 学学 建建 模模理学院理学院第28页,共117页,编辑于2022年,星期六执执行行输输出出模型求解模型求解青豆需要的份数青豆需要的份数ans=40胡罗卜需要的份数胡罗卜需要的份数 ans=40.0000菜花需要的份数菜花需要的份数 ans=0白菜需要的份数白菜需要的份数 ans=20.0000 黑龙江科技学院 数数 学学 建建 模模理学院理学院第29页,共117页,编辑
19、于2022年,星期六甜菜需要的份数甜菜需要的份数 ans=0土豆需要的份数土豆需要的份数ans=40最小费用最小费用 ans=560.0000模型求解模型求解执执行行输输出出 黑龙江科技学院 数数 学学 建建 模模理学院理学院第30页,共117页,编辑于2022年,星期六5.2 整数规划模型 黑龙江科技学院 数数 学学 建建 模模有些LP往往要求全部或部分决策变量取非负整数值,如计件产品的生产计划、合理下料、设施的配备决策等,这样的LP称为整数线性规划。目前所流行的求解整数规划的方法,往往只适用于整数线性规划。目前还没有一种方法能有效地求解一切整数规划。理学院理学院第31页,共117页,编辑于
20、2022年,星期六1.整数规划的分类如不加特殊说明,一般指整数线性规划。对于整数线性规划模型大致可分为两类:(i)变量全限制为整数时,称纯(完全)整数规划。(ii)变量部分限制为整数的,称混合整数规划。(iii)变量只能取0或1时,称之为0-1整数规划。2.整数规划特点(i)原线性规划有最优解,当自变量限制为整数后,其整数规划解出现下述情况:原线性规划最优解全是整数,则整数规划最优解与线性规划最优解一致。整数规划无可行解(ii)整数规划最优解不能按照实数最优解简单取整而获得。理学院理学院第32页,共117页,编辑于2022年,星期六分枝定界法分枝定界法 对有约束条件的最优化问题(其可行解为有对
21、有约束条件的最优化问题(其可行解为有限数)的可行解空间恰当地进行系统搜索,限数)的可行解空间恰当地进行系统搜索,这就是这就是分枝分枝与与定界定界内容。通常,把全部可行内容。通常,把全部可行解空间反复地分割为越来越小的子集,称为解空间反复地分割为越来越小的子集,称为分枝分枝;并且对每个子集内的解集计算一个目;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称为标下界(对于最小值问题),这称为定界定界。在每次分枝后,凡是界限不优于已知可行解在每次分枝后,凡是界限不优于已知可行解集目标值的那些子集不再进一步分枝,这样集目标值的那些子集不再进一步分枝,这样,许多子集可不予考虑,这称,许多子
22、集可不予考虑,这称剪枝剪枝。这就是。这就是分枝定界法的主要思路。分枝定界法的主要思路。黑龙江科技学院 数数 学学 建建 模模理学院理学院第33页,共117页,编辑于2022年,星期六设有最大化的整数规划问题A,与它相应的线性规划为问题B,从解问题B开始,若其最优解不符合A的整数条件,那么B的最优目标函数必是A的最优目标函数Z*的上界,记作 ;而A的任意可行解的目标函数值将是Z*的一个下界Z 。分枝定界法就是将B的可行域分成子区域再求其最大值的方法。逐步减小 和增大Z,最终求到Z*。黑龙江科技学院 数数 学学 建建 模模理学院理学院第34页,共117页,编辑于2022年,星期六例例5.2.3 求
23、解下述整数规划 解解(i)先不考虑整数限制,即解相应的线性规划,得最优解为:可见它不符合整数条件。这时Z是问题A的最优目标函数值Z*的上界,记作 。而x1=0,x2=0显然是问题A的一个整数可行解,这时Z=0,是Z*的一个下界,记作,即0Z*356。s.t.第35页,共117页,编辑于2022年,星期六因为x1,x2当前均为非整数,故不满足整数要求,任选一个进行分枝。设选x1进行分枝,把可行集分成2个子集:,因为4与5之间无整数,故这两个子集内的整数解必与原可行集合整数解一致。这一步称为分枝。这两个子集的规划及求解如下:问题B1:最优解为:s.t.第36页,共117页,编辑于2022年,星期六
24、问题B2最优解为:s.t.以此类推找出最优解。第37页,共117页,编辑于2022年,星期六从以上解题过程可得用分枝定界法求解整数规划(最大化)问题的步骤为:开始,将要求解的整数规划问题称为问题A,将与它相应的线性规划问题称为问题B。(i)解问题B可能得到以下情况之一:(a)B没有可行解,这时A也没有可行解,则停止 (b)B有最优解,并符合问题A的整数条件,B的最优解即为A的最优解,则停止。(c)B有最优解,但不符合问题A的整数条件,记它的目标函数值为 。第38页,共117页,编辑于2022年,星期六(ii)用观察法找问题A的一个整数可行解,一般可取xj=0,j=1,n试探,求得其目标函数值,
25、并记作Z。以Z*表示问题A的最优目标函数值;这时有 进行迭代。第一步:分枝,在B的最优解中任选一个不符合整数条件的变量xj,其值为bj,以bj表示小于bj的最大整数。构造两个约束条件 将这两个约束条件,分别加入问题B,求两个后继规划问题B1和B2。不考虑整数条件求解这两个后继问题。第39页,共117页,编辑于2022年,星期六定界,以每个后继问题为一分枝标明求解的结果,与其它问题的解的结果中,找出最优目标函数值最大者作为新的上界 。从已符合整数条件的各分支中,找出目标函数值为最大者作为新的下界Z,若无作用Z=0。第二步:比较与剪枝,各分枝的最优目标函数中若有小于Z者,则剪掉这枝,即以后不再考虑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 第五 规划 模型 幻灯片
限制150内