线性规划问题
- 前言
- 一、线性规划的实例与定义
- 二、线性规划的Matlab标准形式及软件求解
前言
在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济效益的问题。此类问题构成了运筹学的一个重要分支——数学规划,而线性规划(Linear Programming)则是数学规划的一个重要分支。
一、线性规划的实例与定义
例 某机床厂 生产甲、乙两种机床,每台销售后的利润分别为4000元与3000元。生产甲机床需用A、B机器加工,加工时间分别为每台2h和1h;生产乙机床需用A、B.C三种机器加工,加工时间为每台各1h。若每天可用于加工的机器时数分别为A机器10h、B机器8h和C机器7h,问该厂应生产甲、乙机床各几台,才能使总利润最大?
上述问题的数学模型:设该厂生产x1台甲机床和乙机床时总利润z最大,则x1,x2应满足
式中:变量x1,x2为决策变量。
式(1.1)称为问题的目标函数,式(1.2)中的几个不等式是问题的约束条件.记为s.L (即subjet to)。由于上面的目标的数及约束条件均为线性函数,故标为线性规划问题。
二、线性规划的Matlab标准形式及软件求解
线性规划的目标函数可以是求最大值也可以是求最小值约束条件的不等号可以是小于等号也可以是大于等号。为了避免这种形式多样性带来的不便Matlab 中规定线性规划的标准形式为
式中:f,x,b,beq,lb,ub为列向量,其中f称为价值向量,b称为资源向量;A ,Aeq为矩阵。
Matlab中求解线性规划的命令为
[x,fval] = linprog(f,A,b)
[x, fval] = linprog( f,A,b,Aeq,beq)
[x,fval] = linprog(f,A,b,Aeq,beq,1b,ub)
式中:x返回决策向量的取值;fval返回目标函数的最优值;f为价值向量;A和b对应线性
不等式约束:Acq和beg对应线性等式约束;b和山分别对应决策向量的下界向量和上界向量。
:
f=[4 3];
f=-f;
A=[2 1;1 1;0 1];
b=[10 8 7]';
Aeq=[];beq=[];
lb=zeros(2,1);
[x,z]=linprog(f,A,b,Aeq,beq,lb);
x,z=-z