约束优化方法

约束优化方法

1. 简介

约束问题是指自变量取值受到一定限制的优化问题,用数学模型可表示为
在这里插入图片描述
约束优化问题存在最优解的必要条件是目标函数和约束函数都为连续、可微函数,且存在一个非空的可行域

2. 约束优化方法

约束优化方法大致可以分为三类:
① 根据约束建立边界进行直接搜索
② 将约束优化问题转化为无约束优化问题
③ 通过二次规划或线性规划逐次逼近非线性规划(线性化
在这里插入图片描述

2.1 直接搜索方法

直接搜索方法的基本思想是在可行域内,选取初始点后,按适当的步长往可行的搜索方向进行移动,不断迭代直到满足结束条件。所有的迭代点都限制在可行域内。常见的方法有:复合形法随机方向搜索法

2.2 转化为无约束问题

这个方法在使用过程比较常见,笔者在学习过程中已经有一些体会,有些方法确实是已经在使用的。基本思路是将约束合并到目标中,或者是将搜索方向直接投影到满足约束的方向上,使得搜索过程不必在检验解时候满足约束。

2.2.1 罚函数法

罚函数法是根据约束条件的特点,将约束转化为某种惩罚函数,加入到目标函数中。
常见的方法有:
① 外罚函数法。例如在考虑体积重量的01背包问题博文中,解满足体积重量约束时,适应度为物品价值,不满足约束时,采用相反数的方式计算其适应度(惩罚函数相当于“减去两倍的物品价值”)。
在这里插入图片描述
② 内点法。也称为内罚函数法或障碍函数法。基本思想是根据约束条件建立障碍函数,让靠近边界的解“代价较大”,使得搜索过程在约束边界内。内点法通常也和外罚函数法结合这一起使用。
③ 乘子法。基本实现是从原问题的拉格朗日函数出发,再加上适当的罚函数转化为无约束问题。

2.2.2 可行方向法

可行方向法的基本思想是在每一次迭代中,要求搜索方向对目标函数是下降的,并且对约束函数是可行的。常见的有三种策略:
① 通过求解线性规划确定可行搜索方向,如Zoutendijk可行方向法;
② 通过投影矩阵构造可行搜索方向,如梯度投影法;
③ 通过既约矩阵构造可行搜索方向,如既约梯度法;

2.2.3 极大熵方法

基本实现是利用最大熵原理推导出可微函数G(x),用G(x)函数来逼近目标函数。

2.3 线性化

二次规划和线性规划是比较容易求解的,因而对于非线性规划问题通常也可以线性化后再进行求解。常见方法如下:
① 牛顿-拉格朗日方法:先是使用拉格朗日函数对原优化问题转化进行转化,再使用牛顿法对转化后的方程组进行求解;
SQP方法

参考文献:
《最优化方法及其MATLAB实现》
【其他参考资料链接已插在文中对应位置】

  • 13
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值