数学建模-线性规划
- 格式:docx
- 大小:62.91 KB
- 文档页数:28
数学建模实验报告线性规划数学建模实验报告姓名:霍妮娜班级:计算机95学号:09055093指导老师:戴永红提交日期:5月15日一.线性规划问题描述:某厂生产甲乙两种口味的饮料,每百箱甲饮料需用原料6千克,工人10名,可获利10万元;每百箱乙饮料需用原料5千克,工人级大学生正在从若干个招聘单位中挑选合适的工作岗位,他考虑的主要因素包括发展前景、经济收入、单位信誉、地理位置等,试建立模型给他提出决策建议。
问题分析首先经过对问题的具体情况了解后,建立层次结构模型,进而进行决策分析。
下面我建立这样一个层次结构模型:某岗位综合分数发展前景x1经济收入x2家庭因素x3地理位置x4这是一个比较简单的层次结构模型,经过如下步骤就可以将问题解决。
1.成对比较从x1,x2,x3,x4中任取xi和xj,对他们对于y贡献的大小,按照以下标度给xi/xj赋值:xi/xj=1,认为前者与后者贡献程度相同;xi/xj=3,前者比后者的贡献程度略大;xi/xj=5,前者比后者的贡献程度大;xi/xj=7,前者比后者的贡献大很多;xi/xj=9,前者的贡献非常大,以至于后者根本不能和它相提并论;xi/xj=2n,n=1,2,3,4,认为xi/xj介于2n-1和2n+1直接。
xj/xi=1/n,n=1,2,…,9,当且仅当xi/xj=n。
2.建立逆对称矩阵记已得所有xi/xj,i,j=1,2,3,4,建立n阶方阵1135A=11351/31/3131/51/51/313.迭代e0=(1/n,1/n,1/n,1/n)Tek=Aek-1一直迭代直达到极限e=(a1,a2,…,a4)T则权系数可取Wi=ai 解:首先通过迭代法计算得x1,x2,x3,x4的权数分别为:0.278,0.278,0.235,0.209.假设对所有的xi都采用十分制,现假设有三家招聘公司,它们的个指标如下所示:x1x2x3x4甲8579乙7966丙5798按公式分别求出甲、乙、丙三家公司的综合指数为7.144,7.112和7.123.由此可以看出,应该选择甲公司。
第一章 线性规划§1 线性规划在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。
此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。
自从1947年G. B. Dantzig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。
特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。
1.1 线性规划的实例与定义 例1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。
生产甲机床需用B A 、机器加工,加工时间分别为每台2小时和1小时;生产乙机床需用C B A 、、三种机器加工,加工时间为每台各一小时。
若每天可用于加工的机器时数分别为A 机器10小时、B 机器8小时和C 机器7小时,问该厂应生产甲、乙机床各几台,才能使总利润最大?上述问题的数学模型:设该厂生产1x 台甲机床和2x 乙机床时总利润最大,则21,x x 应满足(目标函数)2134max x x z += (1)s.t.(约束条件)⎪⎪⎩⎪⎪⎨⎧≥≤≤+≤+0,781022122121x x x x x x x (2)这里变量21,x x 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式是问题的约束条件,记为s.t.(即subject to)。
由于上面的目标函数及约束条件均为线性函数,故被称为线性规划问题。
总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。
在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。
而选适当的决策变量,是我们建立有效模型的关键之一。
1.2 线性规划的Matlab 标准形式线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。
313数学教育1、2班,510数学教育1、2、3班数学建模上机测试题,需要把运行结果写出来。
模型包括目标函数、约束条件,编写的程序和程序运行结果四部分内容。
写在作业本上。
按学号顺序做,如35号同学做习题35习题1:某厂计划生产甲、乙、丙三种零件,有机器、人工工时和原材料的限制,有关数据1、2、若原材料为2元/公斤,试建立获得最大利润生产计划的线性规划模型。
习题2:一塑料厂利用四种化工原料合成一种塑料产品。
这四种原料含A、B、C的成分见下表,这种塑料产品要求含A为25%,含B、C都不得少于30%。
问各种原料投放比例为习题3:建立以下线性规划模型1)某家具厂生产桌椅,每张桌子耗用木材0.28立方米、2小时人工,售价288元;每把椅子耗用木材0.13立方米、0.8小时人工,售价147元。
且1张桌子必须配4把椅子。
已知木材本月供应量不得超过52立方米,且每立方米成本价为500元。
本月人工工时上限为288小时,且每小时成本为20元。
(1)写出最大月收益线性规划模型;(2)写出月收益不低于8000元而动用木材最省的线性规划模型(其余条件不变)。
习题4 某工厂要用三种原料1、2、3混合调配出三种不同规格的产品甲、乙、丙,数据如右表。
问:该厂应如何安排生产,使利润收入为最大?习题5、某部门现有资金200万元,今后五年内考虑给以下的项目投资。
已知:项目A :从第一年到第五年每年年初都可投资,当年末能收回本利110%;项目B :从第一年到第四年每年年初都可投资,次年末能收回本利125%,但规定每年最大投资额不超过30万元;项目C :需在第三年年初投资,第五年末能收回本利140%,但规定最大投资额不能超过80万元;项目D :需在第二年年初投资,第五年末能收回本利155%,但规定最大投资额不能超过100万元;问:a.应如何确定这些项目的每年投资额,使得第五年年末拥有资金的本利金额为最大? b.应如何确定这些项目的每年投资额,使得第五年年末拥有资金的本利在330万元的基础上使得其投资总的风险系数为最小?习题6 某公司计划在三年的计划期内,有四个建设项目可以投资:项目Ⅰ从第一年到第三年年初都可以投资。
线性规划的定义及解题方法线性规划是一种数学建模技术,旨在解决在约束条件下,寻求最优解的问题。
它的实际应用十分广泛,例如管理学、经济学、物流学等领域。
线性规划可以分为单目标和多目标两种,但其中比较常见的是单目标线性规划。
本文将从线性规划的定义、模型建立、求解方法等方面阐述其原理与应用。
一、线性规划的定义线性规划的定义是:在有限约束条件下,目标函数为线性的最优化问题。
它通过数学模型的建立,将涉及到的变量、约束条件与目标函数转化为线性等式或不等式的形式,从而寻找最优解。
通常,线性规划的目标是最大化或最小化某个变量,可以用以下的形式去表示:$$Z=C_1X_1+C_2X_2+……+C_nX_n $$其中,$Z$为目标函数值,$X_1, X_2,……,X_n$为待求变量,$C_1, C_2,……,C_n$为相应的系数。
在线性规划中,会涉及到许多变量,这些变量需要受到一些限制。
这些限制可以用不等式或等式来表示,这些方程式被称为约束条件。
例如:$$A_1X_1+A_2X_2+……+A_nX_n≤B$$$$X_i≥0, i=1,2,……, n $$这两个方程就代表了一些约束条件,例如目标函数系数的和不能超过某个值,若$X_i$为生产的产品数量,则需保证产量不能小于零等。
这些约束条件用于限制变量的取值范围,而目标函数则用于求解最优解。
二、线性规划的模型建立在建立线性规划模型时,需要考虑几个要素:1. 决策变量:它是模型求解的关键。
决策变量是指在模型中未知的数量,也就是需要我们寻找最优解的那些变量。
2. 目标函数:确定目标函数,既要知道最大化还是最小化,还要知道哪些变量是影响目标函数的。
3. 约束条件:约束条件通常是一组等式或不等式,代表问题的限制。
例如在一个工厂中最大的生产量、原材料的数量限制、人工的数量等等,这些都是约束条件。
4. 模型的参数:模型参数是指约束条件的系数和模型中的常数。
它们是从现实问题中提取出来的,由于模型的解法通常是数学的,因此需要具体的数值。
四类基本模型1 优化模型1.1 数学规划模型线性规划、整数线性规划、非线性规划、多目标规划、动态规划。
1.2 微分方程组模型阻滞增长模型、SARS 传播模型。
1.3 图论与网络优化问题最短路径问题、网络最大流问题、最小费用最大流问题、最小生成树问题(MST)、旅行商问题(TSP)、图的着色问题。
1.4 概率模型决策模型、随机存储模型、随机人口模型、报童问题、Markov 链模型。
1.5 组合优化经典问题● 多维背包问题(MKP)背包问题:n 个物品,对物品i ,体积为i w ,背包容量为W 。
如何将尽可能多的物品装入背包。
多维背包问题:n 个物品,对物品i ,价值为i p ,体积为i w ,背包容量为W 。
如何选取物品装入背包,是背包中物品的总价值最大。
多维背包问题在实际中的应用有:资源分配、货物装载和存储分配等问题。
该问题属于NP 难问题。
● 二维指派问题(QAP)工作指派问题:n 个工作可以由n 个工人分别完成。
工人i 完成工作j 的时间为ij d 。
如何安排使总工作时间最小。
二维指派问题(常以机器布局问题为例):n 台机器要布置在n 个地方,机器i 与k 之间的物流量为ik f ,位置j 与l 之间的距离为jl d ,如何布置使费用最小。
二维指派问题在实际中的应用有:校园建筑物的布局、医院科室的安排、成组技术中加工中心的组成问题等。
● 旅行商问题(TSP)旅行商问题:有n 个城市,城市i 与j 之间的距离为ij d ,找一条经过n 个城市的巡回(每个城市经过且只经过一次,最后回到出发点),使得总路程最小。
● 车辆路径问题(VRP)车辆路径问题(也称车辆计划):已知n 个客户的位置坐标和货物需求,在可供使用车辆数量及运载能力条件的约束下,每辆车都从起点出发,完成若干客户点的运送任务后再回到起点,要求以最少的车辆数、最小的车辆总行程完成货物的派送任务。
TSP 问题是VRP 问题的特例。
● 车间作业调度问题(JSP)车间调度问题:存在j 个工作和m 台机器,每个工作由一系列操作组成,操作的执行次序遵循严格的串行顺序,在特定的时间每个操作需要一台特定的机器完成,每台机器在同一时刻不能同时完成不同的工作,同一时刻同一工作的各个操作不能并发执行。
-1-第一章线性规划§1 线性规划在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。
此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记LP)则是数学规划的一个重要分支。
自从1947 年G. B. Dantzig 提出求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深入。
特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。
1.1 线性规划的实例与定义例1 某机床厂生产甲、乙两种机床,每台销售后的利润分别为4000 元与3000 元。
生产甲机床需用A、B机器加工,加工时间分别为每台2 小时和1 小时;生产乙机床需用A、B、C三种机器加工,加工时间为每台各一小时。
若每天可用于加工的机器时数分别为A 机器10 小时、B 机器8 小时和C 机器7 小时,问该厂应生产甲、乙机床各几台,才能使总利润最大?上述问题的数学模型:设该厂生产1 x 台甲机床和2 x 乙机床时总利润最大,则1 2 x , x应满足(目标函数)1 2 max z = 4x + 3x (1)s.t.(约束条件)⎪⎪⎩⎪⎪⎨⎧≥≤+ ≤+ ≤, 0782 101 221 21 2x xxx xx x(2)这里变量1 2 x , x 称之为决策变量,(1)式被称为问题的目标函数,(2)中的几个不等式是问题的约束条件,记为s.t.(即subject to)。
由于上面的目标函数及约束条件均为线性函数,故被称为线性规划问题。
总之,线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题。
在解决实际问题时,把问题归结成一个线性规划数学模型是很重要的一步,但往往也是困难的一步,模型建立得是否恰当,直接影响到求解。
而选适当的决策变量,是我们建立有效模型的关键之一。
1.2 线性规划的Matlab 标准形式线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。
为了避免这种形式多样性带来的不便,Matlab 中规定线性规划的标准形式为c xxmin Ts.t.⎪⎩⎪⎨⎧≤≤⋅ =≤lb x ubAeq x beqAx b其中c 和x 为n 维列向量,A 、Aeq 为适当维数的矩阵,b 、beq 为适当维数的列向量。
-2-例如线性规划c x Ax bxmax T s.t. ≥的Matlab 标准型为c x Ax bxmin −T s.t. −≤−1.3 线性规划问题的解的概念一般线性规划问题的(数学)标准型为Σ==njj j z c x1max (3)s.t.⎪⎩⎪⎨⎧≥ == = Σ=x j na xb i mjnjij j i0 1,2, ,1,2, ,1LL(4)可行解满足约束条件(4)的解( , , , ) 1 2 n x = x x L x ,称为线性规划问题的可行解,而使目标函数(3)达到最大值的可行解叫最优解。
可行域所有可行解构成的集合称为问题的可行域,记为R 。
1.4 线性规划的图解法0 2 4 6 8 1 01234567891 0x 2 = 72 x1 + x 2 = 1 0x 1 + x 2 = 8z = 1 2( 2 ,6 )图1 线性规划的图解示意图图解法简单直观,有助于了解线性规划问题求解的基本原理。
我们先应用图解法来求解例1。
对于每一固定的值z ,使目标函数值等于z 的点构成的直线称为目标函数等位线,当z 变动时,我们得到一族平行直线。
对于例1,显然等位线越趋于右上方,其上的点具有越大的目标函数值。
不难看出,本例的最优解为x* = (2,6)T ,最优目标值z* = 26。
从上面的图解过程可以看出并不难证明以下断言:(1)可行域R 可能会出现多种情况。
R 可能是空集也可能是非空集合,当R 非空时,它必定是若干个半平面的交集(除非遇到空间维数的退化)。
R 既可能是有界区域,也可能是无界区域。
(2)在R 非空时,线性规划既可以存在有限最优解,也可以不存在有限最优解(其目标函数值无界)。
-3-(3)若线性规划存在有限最优解,则必可找到具有最优目标函数值的可行域R 的“顶点”。
上述论断可以推广到一般的线性规划问题,区别只在于空间的维数。
在一般的n 维空间中,满足一线性等式Σ==nii i a x b1的点集被称为一个超平面,而满足一线性不等式Σ=≤nii i a x b1(或Σ=≥nii i a x b1)的点集被称为一个半空间(其中( , , ) 1 n a L a 为一n维行向量,b 为一实数)。
若干个半空间的交集被称为多胞形,有界的多胞形又被称为多面体。
易见,线性规划的可行域必为多胞形(为统一起见,空集Φ也被视为多胞形)。
在一般n 维空间中,要直接得出多胞形“顶点”概念还有一些困难。
二维空间中的顶点可以看成为边界直线的交点,但这一几何概念的推广在一般n 维空间中的几何意义并不十分直观。
为此,我们将采用另一途径来定义它。
定义1 称n 维空间中的区域R 为一凸集,若∀x1, x2 ∈R 及∀λ∈(0,1) ,有λx1 + (1−λ)x2 ∈R 。
定义2 设R 为n 维空间中的一个凸集,R 中的点x 被称为R 的一个极点,若不存在x1、x2 ∈R及λ∈(0,1),使得x = λx1 + (1−λ)x2。
定义1 说明凸集中任意两点的连线必在此凸集中;而定义2 说明,若x 是凸集R的一个极点,则x 不能位于R 中任意两点的连线上。
不难证明,多胞形必为凸集。
同样也不难证明,二维空间中可行域R 的顶点均为R 的极点(R 也没有其它的极点)。
1.5 求解线性规划的Matlab 解法单纯形法是求解线性规划问题的最常用、最有效的算法之一。
这里我们就不介绍单纯形法,有兴趣的读者可以参看其它线性规划书籍。
下面我们介绍线性规划的Matlab解法。
Matlab 中线性规划的标准型为c xxmin Ts.t.⎪⎩⎪⎨⎧≤≤⋅ =≤lb x ubAeq x beqAx b基本函数形式为linprog(c,A,b),它的返回值是向量x 的值。
还有其它的一些函数调用形式(在Matlab 指令窗运行help linprog 可以看到所有的函数调用形式),如:[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)这里fval 返回目标函数的值,LB 和UB 分别是变量x 的下界和上界,0 x 是x 的初始值,OPTIONS 是控制参数。
例2 求解下列线性规划问题1 2 3 max z = 2x + 3x −5xs.t. 7 1 2 3 x + x + x =2 5 10 1 23 x −x + x ≥3 12 1 2 3 x + x + x ≤, , 0 1 2 3 x x x ≥-4-解(i)编写M 文件c=[2;3;-5];a=[-2,5,-1;1,3,1]; b=[-10;12];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即可得所求结果。
例3 求解线性规划问题1 2 3 min z = 2x + 3x + x⎪⎩⎪⎨⎧≥+ ≥+ + ≥, , 03 2 64 2 81 2 31 21 2 3x x xx xx x x解编写Matlab程序如下:c=[2;3;1];a=[1,4,2;3,2,0];b=[8;6];[x,y]=linprog(c,-a,-b,[],[],zeros(3,1))1.6 可以转化为线性规划的问题很多看起来不是线性规划的问题也可以通过变换变成线性规划的问题来解决。
如:例4 规划问题为Ax bx x x n≤+ + +s. t.min | | | | | | 1 2 L其中Tn x [x x ] = 1 L ,A和b为相应维数的矩阵和向量。
要把上面的问题变换成线性规划问题,只要注意到事实:对任意的i x ,存在, >0 i i u v 满足i i i x = u −v ,i i i | x |= u + v事实上,我们只要取2| | i iiu x x+= ,2| | i iiv x x−= 就可以满足上面的条件。
这样,记Tn u [u u ] = 1 L ,Tn v [v v ] = 1 L ,从而我们可以把上面的问题变成Σ=+nii i u v1min ( )⎩⎨⎧≥−≤, 0( )s. t.u vA u v b例5 min{max | |} x y i i iε其中i i i ε= x −y 。
对于这个问题,如果我们取max | | 0 y i ix = ε,这样,上面的问题就变换成-5-0 min x1 1 0 0 s. t. x y x , , x y x n n −≤L −≤此即我们通常的线性规划问题。
§2 运输问题(产销平衡)例6 某商品有m 个产地、n 个销地,各产地的产量分别为m a , ,a 1 L ,各销地的需求量分别为n b , ,b 1 L 。
若该商品由i 产地运到j 销地的单位运价为ij c ,问应该如何调运才能使总运费最省?解:引入变量ij x ,其取值为由i 产地运往j 销地的该商品数量,数学模型为ΣΣ= =minjij ij c x1 1mins.t.⎪⎪⎪⎩⎪⎪⎪⎨⎧≥= == =ΣΣ==, 1,2, ,, 1, ,11ijmiij jnjij ixx b j nx a i mLL显然是一个线性规划问题,当然可以用单纯形法求解。
对产销平衡的运输问题,由于有以下关系式存在:ΣΣΣΣΣΣ= = = = = == ⎟⎠⎞⎜⎝⎛= ⎟⎟⎠⎞⎜⎜⎝⎛=miinjnjmiijminjj ij b x x a1 1 1 1 1 1其约束条件的系数矩阵相当特殊,可用比较简单的计算方法,习惯上称为表上作业法(由康托洛维奇和希奇柯克两人独立地提出,简称康—希表上作业法)。
§3 指派问题3.1 指派问题的数学模型例7 拟分配n 人去干n 项工作,每人干且仅干一项工作,若分配第i 人去干第j项工作,需花费ij c 单位时间,问应如何分配工作才能使工人花费的总时间最少?容易看出,要给出一个指派问题的实例,只需给出矩阵( ) ij C = c ,C被称为指派问题的系数矩阵。
引入变量ij x ,若分配i干j工作,则取= 1 ij x ,否则取= 0 ij x 。