1.定义
2.例题
3.使用软件及解题
1.线性规划(Linear Programming,简称LP)是一种数学优化技术,线性规划作为运筹学的一个重要分支,专门研究在给定一组线性约束条件下,如何找到一个最优的决策,使得目标函数取得最大或最小值。线性规划属于运筹学(Operations Research)这一学科领域。运筹学是一门多学科交叉的科学,它致力于通过数学、统计学和计算机科学等方法,解决实际问题中的决策和优化问题。线性规划广泛应用于经济、工程、生产、物流等领域的决策问题,如资源分配、生产计划、投资组合等。
2.线性规划问题形式化地描述
(1)决策变量(Decision Variables): 这些是需要在问题中确定的变量,可以是任何可以进行调整以达到最优解的量。例如,生产某种产品的数量、投资某项资产的金额等。
(2)目标函数(Objective Function): 这是需要最大化或最小化的线性函数。它表示你希望优化的目标,可以是成本、利润、产量等。
(3)约束条件(Constraints): 这些是对决策变量的限制条件,可能涉及资源的限制、技术约束等。约束条件通常是一组线性等式或不等式。
(4)非负约束条件(Non-negativity Constraints): 决策变量通常不能为负数,因为它们表示数量或金额等。
3.数学形式表示
最大化(或最小化):c₁x₁ + c₂x₂ + … + cₙxₙ
约束条件:
A₁₁x₁ + A₁₂x₂ + … + A₁ₙxₙ ≤ b₁
A₂₁x₁ + A₂₂x₂ + … + A₂ₙxₙ ≤ b₂
…
Aₘ₁x₁ + Aₘ₂x₂ + … + Aₘₙxₙ ≤ bₘ
x₁, x₂, …, xₙ ≥ 0
其中,c₁, c₂, …, cₙ 是目标函数的系数,x₁, x₂, …, xₙ 是决策变量,Aᵢⱼ 是约束矩阵中的系数,bᵢ 是约束的右侧值。
4.解线性规划问题的目标
找到满足约束条件的决策变量值,使得目标函数取得最大(或最小)值。常用的线性规划求解算法包括单纯形法、内点法、二次割平面法等。
例 1:某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。生产甲机床需用 A、B 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床需用 A、B、C 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时数分别为 A 机器 10 小时、B 机器 8 小时和C 机器 7 小时,问该厂应生产甲、乙机床各几台,才能使总利润最大?
例 1 公式转为matlab形式求解
(2)求解的Matlab程序如下
f=[-2; -3; 5];
a=[-2,5,-1;1,3,1]; b=[-10;12];
aeq=[1,1,1];
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));
x, y=-y