MATLAB数学规划:2.线性规划

线性规划

数学规划介绍

数学规划(mathematical programming):是运筹学的一个重要分支,是一个如何分配有限资源 ,从而达到人们期望目标的优化问题,也就是通过确定一些可控制变量的值,使相关量(目标)达到最优(最大或最小)

其一般表达式为:

min f(x,a,b)

s.t. g(x,a,b)≤0

其中,f(x,a,b)是目标函数,g(x,a,b)是约束条件,x是可控变量,a是已知参数,b是随机参数

s.t. 表示subject to,即满足约束条件。

数学规划建模的基本步骤

  • 根据影响所要达到目的的因素找到决策变量
  • 由决策变量和所要达到的目的之间的函数关系确定目标函数
  • 由决策变量所受的限制条件确定决策变量所要满足的约束条件

所建立的数学模型具有以下特点

  • 每个模型有若干个决策变量 x=(x1,x2,.x),决策变量的一组值表示一种方案
  • 目标函数是决策变量的函数,根据具体问题可以是最大化或最小化问题。
  • 约束条件也是决策变量的函数

线性规划

其一般表达式为:

min 目标函数

∑a*x≤b,i=1,2...m 等式、不等式约束条件

x>=c 变量范围约束

或写成矩阵的形式:

minZ=Cx

Ax≤b

x-c≥0

  • 线性规划的标准形式 要求使目标函数最小化
  • 约束条件取等式
  • 不符合该条件的线性模型可以转化为标准形式。
  • 目标函数与约束条件都是决策变量的线性函数

MATLAB求解线性规划问题

x=linprog(f,A,b,Aeq,beq,lb,ub,options)

  • 求解问题min f(x),约束条件Ax<=b.
  • 约束条件Aeq*x=beq,lb,ub定义x的上下限,即lb=<x=<ub.
  • 若中间条件不存在,设为空,例如:无不等式,则将A设为[],将b设为[]。
  • 用options指定的优化参数进行最小化(详情参见MATLAB帮助文件)。

返回值:

x,fval.exitflag,output,lamdba\]=linprog() * fval:x处的目标函数值。 * exitingflag:描述函数计算的退出条件。 * oulput::包含优化信息的输出变量oulput。 * 将解x处的Lagrange乘子返回到lambda参数中。 * 若不需要某个中间返回变量,设为\~ 例题: 求函数的最小值 f(x)=-5x1-4x2-6x3 其中,x满足不等式条件: x1-x2+x3≤20 3x1+2x2+4x3≤42 3x1+2x2≤30 同时X的范围为: 0≤x,0≤x2:0≤x3 求解之前,首先将目标函数、不等式条件、范围表示为**矩阵或向量的形式**。 * 自变量可以表示为一个向量: X=\[x1,x2,x3

  • 目标函数可以表示为:

    f(x)=-5x1-4x2-6x3

    f(x)=[-5,-4,-6]·x

  • 不等式关系

    x1-x2+x3≤20

    3x1+2x2+4x3≤42

    3x1+2x2≤30

    可以表示为:

    左侧系数矩阵A=

    1 -1 1

    3 2 4

    3 2 0

    右侧数值b=

    20

    42

    30

    也就是:

    A·x≤b

    如果不等式约束中有≥,通过移项总可以表示为≤的形式。

  • 自变量上下限

    0≤x1,0≤x2,0≤x3

    可以表示为:

    lb=[0,0,0]

    ub=[inf,inf,inf]

matlab代码:

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,exitflag,output,lambda]=linprog(f,A,b,[],[],lb,ub);
相关推荐
cpp_25012 小时前
P1024 [NOIP 2001 提高组] 一元三次方程求解
数据结构·c++·算法·题解·二分答案·洛谷·csp
Gofarlic_oms17 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
田梓燊8 小时前
力扣:23.合并 K 个升序链表
算法·leetcode·链表
re林檎9 小时前
算法札记——4.27
算法
小白小宋9 小时前
【PUSCH第三期】5G NR QC-LDPC编码深度解析:从协议校验矩阵构造到MATLAB完整实现
5g·matlab·矩阵
ComputerInBook9 小时前
数字图像处理(4版)——第 7 章——小波及其它图像变换(上)(Rafael C.Gonzalez&Richard E. Woods)
人工智能·机器学习·数字图像处理·图像变换
数据牧羊人的成长笔记9 小时前
逻辑回归与Softmax回归
算法·回归·逻辑回归
郑州光合科技余经理10 小时前
同城O2O海外版二次开发实战:从支付网关到配送算法
开发语言·前端·后端·算法·架构·uni-app·php
d111111111d13 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
Black蜡笔小新13 小时前
企业级私有化AI模型训练工作站DLTM一体化AI模型训练工作站重构企业AI自主可控新模式
机器学习·ai大模型