线性规划是在第二次世界大战中发展起来的一种重要的数量方法,它是处理线性目标函数和线性约束的一种较为成熟的方法,主要用于研究有限资源的最佳分配问题,即如何对有限的做出最佳方式的调配和最有利的使用,以便最充分地发挥资源的效能去获取最佳的经济效益。目前已经广泛应用于军事、经济、工业、农业、教育、商业和社会科学等许多方面。
线性规划问题的标准形式为
线性规划的标准形式要求使目标函数最小化,约束条件取等式,变量b非负。不符合这几个条件的线性模型可以转化成标准形式。
从实际问题中建立数学模型一般有以下三个步骤:
(1)根据影响所要达到目的的因素找到决策变量。
(2)由决策变量和所要达到目的之间的函数关系确定目标函数。
(3)由决策变量所受限制条件确定决策变量所要满足的约束条件。
所建立的数学模型具有以下特点:
(1)每个模型都有若干个决策变量,决策变量的一组值表示一种方案,同时决策变量一般是非负的。
(2)目标函数是决策变量的线性函数,根据具体问题可以是最大化或最小化,二者统称为最优化。
(3)约束条件也是决策变量的线性函数。
当得到的数学模型的目标函数为线性函数,约束条件为线性等式或不等式时称此数学模型为线性规划模型。
MATLAB采用投影法求解线性规划问题,该方法是单纯形法的变种,求解函数为linprog。
【例】
求解函数的最小值 ,其中满足条件:
编写MATLAB代码:
f=[-5,-4,-6];
a=[1,-1,1;3,2,4;3,2,0];
b=[20;42;30];
lb=[0;0;0];
ub=[inf;inf;inf];
[x,fval]=linprog(f,a,b,[],[],lb,ub);
x
fval
得到结果:
x =
0
15.0000
3.0000
fval =
-78
所以函数最小值为-78。
关注公众号,学习数学建模,领取免费资料。