第一周:线性规划、整数规划、非线性规划、二次规划

本文介绍了数学优化中的四种基本类型:线性规划、整数规划、非线性规划和二次规划。线性规划使用linprog()函数,整数规划通过intlinprog()解决,非线性规划涉及包含非线性函数的目标或约束,而二次规划则是目标函数为二次函数的特殊非线性规划问题,可使用quadprog()求解。每个规划类型都有其标准形式和对应的MATLAB实现方法,并配有例题进行说明。
  1. 线性规划函数:linprog()
    线性规划的标准形式
    线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不方便,matlab规定线性规划的标准形式为:

在这里插入图片描述
它有两种常用形式:
X = linprog(f,A,b,Aeq,beq,LB,UB)
[X, FVAL] = linprog(f,A,b,Aeq,beq,LB,UB)
注:x返回决策向量的取值,fval返回目标函数的最优解;为价值向量,A,b对应线性不等式约束,Aeq和beq对应线性等式约束;lb,ub分别表示下界和上界。
例题:
在这里插入图片描述
2.整数规划
规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中, 变量限制为整数,则称为整数线性规划。如不加特殊说明,一般指整数线性规划。
整数规划在 Matlab 上的标准形式是:
在这里插入图片描述
整数规划:
intlinprog() 的用法解释:
X = intlinprog(f,intcon,A,b,Aeq,beq,LB,UB) 与上面一样,但是第二个参数 intcon 是指定要限定哪一个 x 为整数,如果想要限定x2,x10 为整数,那就是 [2,10]。
例题
在这里插入图片描述非线性规划
如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。
线性规划与非线性规划的区别:
线性规划的最优解只能在其可行域的边界上达到;而非线性规划的最优解则可能在可行域的任意一点达到。
在这里插入图片描述
例题
在这里插入图片描述
二次规划
若某非线性规划的目标函数为自变量x的二次函数,约束条件又全是现行的,称这种规划为二次规划。
二次规划的数学模型可表示如下:
min xHx +fx
st
Ax<=b
Aeq * x=beq
lb<=x<=ub

命令是[x,fval]=quadprog(H,f,A,b,Aeq,beq,lv,ub,x0,options)
x0是x的初始值。
注意:小心H和的写法,其他与前面类似。
参考链接:https://blog.csdn.net/weixin_39679367/article/details/84845953在这里插入代码片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值