数学建模-线性规划
- 格式: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.线性规划模型:线性规划是一种用于求解线性约束下的最优化问题的数学方法。
线性规划模型的目标函数和约束条件均为线性函数。
线性规划广泛应用于供需平衡、生产调度、资源配置等领域。
2.非线性规划模型:非线性规划是一种用于求解非线性目标函数和约束条件的最优化问题的方法。
非线性规划模型在能源优化调度、金融风险管理、工程设计等方面有广泛应用。
3.整数规划模型:整数规划是一种在决策变量取离散值时求解最优化问题的方法。
整数规划模型在网络设计、物流调度、制造安排等领域有广泛应用。
4.动态规划模型:动态规划是一种通过将问题分解为多个阶段来求解最优化问题的方法。
动态规划模型在资源分配、投资决策、路径规划等方面有广泛应用。
5.随机规划模型:随机规划是一种在目标函数和约束条件存在不确定性时求解最优化问题的方法。
随机规划模型在风险管理、投资决策、资源调度等方面有广泛应用。
6.进化算法模型:进化算法是一种通过模拟生物进化过程来求解最优化问题的方法。
进化算法模型包括遗传算法、粒子群算法、蚁群算法等,被广泛应用于参数优化、数据挖掘、机器学习等领域。
7.神经网络模型:神经网络是一种模仿人脑神经元连接和传递信息过程的数学模型。
神经网络模型在模式识别、数据分类、信号处理等领域有广泛应用。
8.模糊数学模型:模糊数学是一种用于处理不确定性和模糊信息的数学模型。
模糊数学模型在风险评估、决策分析、控制系统等方面有广泛应用。
除了以上常用的数学建模算法模型,还有许多其他的算法模型,如图论模型、动力系统模型、马尔科夫链模型等。
不同的问题需要选择合适的算法模型进行建模和求解。
数学建模算法模型的选择和应用需要根据具体的问题和要求进行。
数学建模常用算法数学建模是指将实际问题转化为数学模型,并通过数学方法进行求解的过程。
在数学建模中,常用的算法有很多种,下面将介绍一些常见的数学建模算法。
1.最优化算法:-线性规划算法:如单纯形法、内点法等,用于求解线性规划问题。
-非线性规划算法:如最速下降法、牛顿法等,用于求解非线性规划问题。
-整数规划算法:如分支定界法、割平面法等,用于求解整数规划问题。
2.概率统计算法:-蒙特卡洛模拟:通过模拟随机事件的方式,得出问题的概率分布。
-贝叶斯统计:利用先验概率和条件概率,通过数据更新后验概率。
-马尔可夫链蒙特卡洛:用马尔可夫链的方法求解复杂的概率问题。
3.图论算法:-最短路径算法:如迪杰斯特拉算法、弗洛伊德算法等,用于求解两点之间的最短路径。
-最小生成树算法:如普里姆算法、克鲁斯卡尔算法等,用于求解图中的最小生成树。
- 最大流最小割算法: 如Edmonds-Karp算法、Dinic算法等,用于求解网络流问题。
4.插值和拟合算法:-多项式插值:如拉格朗日插值、牛顿插值等,用于通过已知数据点拟合出多项式模型。
-最小二乘法拟合:通过最小化实际数据与拟合模型之间的差异来确定模型参数。
-样条插值:通过使用多段低次多项式逼近实际数据,构造连续的插值函数。
5.遗传算法和模拟退火算法:-遗传算法:通过模拟自然选择、遗传变异和交叉等过程,优化问题的解。
-模拟退火算法:模拟固体退火过程,通过随机策略进行,逐步靠近全局最优解。
6.数据挖掘算法:- 聚类算法: 如K-means算法、DBSCAN算法等,用于将数据分为不同的类别。
-分类算法:如朴素贝叶斯算法、决策树算法等,用于通过已知数据的类别预测新数据的类别。
- 关联分析算法: 如Apriori算法、FP-growth算法等,用于发现数据集中的关联规则。
以上只是数学建模中常用的一些算法,实际上还有很多其他算法也可以应用于数学建模中,具体使用哪种算法取决于问题的性质和要求。
《数学建模》课程教案教学文档一、教学内容本节课选自《数学建模》教材第四章:线性规划及其应用。
详细内容包括线性规划的基本概念、线性规划模型的建立、单纯形方法及其应用。
二、教学目标1. 理解线性规划的基本概念,掌握线性规划模型的建立方法。
2. 学会运用单纯形方法求解线性规划问题,并能将其应用于实际问题。
3. 培养学生的数学建模能力,提高解决实际问题的能力。
三、教学难点与重点难点:线性规划模型的建立、单纯形方法的运用。
重点:线性规划的基本概念、线性规划模型的求解。
四、教具与学具准备教具:黑板、粉笔、PPT课件。
学具:教材、笔记本、计算器。
五、教学过程1. 导入:通过一个实际情景,引出线性规划问题。
实践情景:某工厂生产两种产品,产品A和产品B。
生产每个产品A需要2小时工时和3平方米厂房面积,生产每个产品B需要4小时工时和1平方米厂房面积。
工厂每天有8小时工时和6平方米厂房面积可用。
如何分配生产时间和厂房面积,使得工厂每天的生产利润最大?2. 知识讲解:1) 线性规划的基本概念。
2) 线性规划模型的建立。
3) 单纯形方法及其应用。
3. 例题讲解:例题1:求解导入环节提出的实际线性规划问题。
例题2:求解一个标准形式的线性规划问题。
4. 随堂练习:让学生独立求解一个线性规划问题,并给出解答。
六、板书设计1. 线性规划基本概念2. 线性规划模型的建立3. 单纯形方法4. 例题解答七、作业设计1. 作业题目:习题4.1:求解线性规划问题。
习题4.2:应用单纯形方法求解实际问题。
2. 答案:八、课后反思及拓展延伸1. 反思:本节课学生对线性规划的基本概念和求解方法掌握程度,以及对实际问题的建模能力。
2. 拓展延伸:探讨线性规划的其他求解方法,如内点法、对偶问题等。
引导学生关注线性规划在实际问题中的应用,如物流、生产计划等。
重点和难点解析1. 线性规划模型的建立。
2. 单纯形方法的运用。
3. 例题讲解与随堂练习的设置。
数学建模的常用模型与求解方法知识点总结数学建模是运用数学方法和技巧来研究和解决现实问题的一门学科。
它将实际问题抽象化,建立数学模型,并通过数学推理和计算求解模型,从而得出对实际问题的理解和解决方案。
本文将总结数学建模中常用的模型类型和求解方法,并介绍每种方法的应用场景。
一、线性规划模型与求解方法线性规划是数学建模中最常用的模型之一,其基本形式为:$$\begin{align*}\max \quad & c^Tx \\s.t. \quad & Ax \leq b \\& x \geq 0\end{align*}$$其中,$x$为决策变量向量,$c$为目标函数系数向量,$A$为约束系数矩阵,$b$为约束条件向量。
常用的求解方法有单纯形法、对偶单纯形法和内点法等。
二、非线性规划模型与求解方法非线性规划是一类约束条件下的非线性优化问题,其目标函数或约束条件存在非线性函数。
常见的非线性规划模型包括凸规划、二次规划和整数规划等。
求解方法有梯度法、拟牛顿法和遗传算法等。
三、动态规划模型与求解方法动态规划是一种用于解决多阶段决策问题的数学方法。
它通过将问题分解为一系列子问题,并利用子问题的最优解构造原问题的最优解。
常见的动态规划模型包括最短路径问题、背包问题和任务分配等。
求解方法有递推法、记忆化搜索和剪枝算法等。
四、图论模型与求解方法图论是研究图及其应用的一门学科,广泛应用于网络优化、城市规划和交通调度等领域。
常见的图论模型包括最小生成树、最短路径和最大流等。
求解方法有贪心算法、深度优先搜索和广度优先搜索等。
五、随机模型与概率统计方法随机模型是描述不确定性问题的数学模型,常用于风险评估和决策分析。
概率统计方法用于根据样本数据对随机模型进行参数估计和假设检验。
常见的随机模型包括马尔可夫链、蒙特卡洛模拟和马尔科夫决策过程等。
求解方法有蒙特卡洛法、马尔科夫链蒙特卡洛法和最大似然估计等。
六、模拟模型与求解方法模拟模型是通过生成一系列随机抽样数据来模拟实际问题,常用于风险评估和系统优化。
-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 。