在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。
简而言之,线性规划问题是在一组线性约束条件的限制下,求解线性目标函数最大值或最小值的问题。
(图一:图片来源于百度)其中红色和绿色字体的是本人标注的~~~
满足约束条件的解称为线性规划问题的可行解, 而使目标函数达到最大值的可行解叫最优解,所有可行解构成的集合称为问题的可行域。
在解决实际问题中,选择适当的决策变量,是我 们建立有效的线性规划数学模型的关键之一。
,求解步骤非常简单,也非常快速,可以节省时间,如下:
如果有朋友想用我们常用的图解法运算的话也是可以的,图解法是我们高中时期非常常用的一种解决目标函数最大值和最小值的方法,即以上图一中的解决,如何解相信大家都懂的嘻嘻嘻嘻~
一般线性规划问题的(数学)标准型为:
Matlab 中线性规划的标准型为: 它的基本函数形式为 linprog(c,A,b),它的返回值是 x 的值。 linprog的函数调用形式很多,可以在matlab命令窗口那里执行help linprog,就可以看到linprog所有的函数调用形式,如下:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,x0,OPTIONS)
若有等式则有Aeq 、deq
这里借用图一线性规划题目来给大家举一个matlab程序的例子。matlab代码如下:
c=[1;0.5]; a=[1,1;0.3,0.1]; b=[10;1.8]; x=linprog(-c,a,b,zeros(3,1)) value=c'*x在想要了解单纯形法之前,你得看懂线性规划的标准形式,因为它是建立在标准形式上的,在上面我也提及了标准形式,是比较好理解的。不过需要注意的是,普通线性规划和标准型线性规划还是有很大的不同点的。
核心思想为:变量迭代
单纯形法还有很多未解锁的知识~~~ 忙完国赛再和大家细细道来~~~