写在前面
因为要参加数学建模,所以在自我学习的过程中,将学习的记录以博客的形式发出来,希望大家监督
一、线性规划模型是什么?
线性规划(Linear Programming 简记为LP)是数学规划的一个重要分支。
定义:目标函数及约束条件(记为 s.t.)均为线性函数,则该种建模问题便被称为线性规划问题。
二、相关问题
1.引例
2.解决方案
1.不难发现,该类问题的目标十分明确,即所求利润最大,或所达到的收益最大,通过对设生产x1台甲机床和x2台乙机床,可以得到相关决策变量x1和x2,相关约束条件为生产每台机床所消耗的A、B、C三种机器的每日工作用时。
3.公式呈现
设每天生产x1台甲机床,x2台乙机床;则有公式如下:
抽象相关问题可得通解公式如下,其中线性规划问题的数学标准型是取最大值,但Matlab中的相关数学公式的标准型求出的是最小值,后文会有所提及。
所以,一定要注意最大最小值的相关符号转换
一、数学标准型公式:
二:Matlab中的数学标准型
注意到其中求的是最小值,且所有约束条件需采用小于号
备注:C矩阵为目标函数中决策变量系数,如max(z)=3X(1)+4X(2),则相关矩阵为[3,4](转置前) A为约束条件中不等式的每个决策变量函数前面的悉数,Aeq为约束条件中等式的每个决策变量前面的系数,Beq为等式右侧系数,lb和ub为每个决策变量的上下界
4.Matlab程序求解
线性规划问题,若无取整等限制,则可直接利用Matlab中的
linprog
函数进行求解。
5.Matlab程序求解案例
观察可得,需使用上述介绍的第三种命令
代码:
f=[2;3;-5];
A=[-2,5,-1;1,3,1];
B=[-10,12];
aeq=[1,1,1];
beq=7;
lb=zeros(3,1);
[x,y]=linprog(f,A,B,aeq,beq,lb);
x,y=-y
总结
以上是线性规划问题的基本原理与代码实现的记录,千里之行,始于足下,希望接下来可以坚持静心做下来,这一年总是很赶,也总是很浮躁,希望可以通过备战数学建模的过程让自己静下心来。