当前位置:   article > 正文

多目标规划(序贯算法matlab求解)

多目标规划(序贯算法matlab求解)

2b9360f3ed0e4ad89f24d712ae1aa9a5.jpg

 (注意正负偏差为大于0的数)

题目有三问,产品一尽量不超过产品二的产量即x(1)-x(2)+dm-dp=0的正偏差尽量小,第二问则为x(1)+x(2)+dm-dp=10的正负偏差都尽量小,我们可以让dm与dp之和尽量小,第三问为8*x(1)+10*x(2)+dm-dp=56的负偏差尽量小,这就是我们求解的目标函数

下面我们来看求解方法

323f9d199ed944f7bf32988733e85dfd.jpg

 首先用optimvar创建最优化变量x以及正负偏差变量,再用optimproblem创建求最小值的优化问题。接着设置不等式约束条件,以及等式约束条件。

ad8832f70105447d88b88efbe0961ed4.jpg

 接着设置目标函数,也就是最开始我们所说的目标函数,设置一个goal后续作为第三个约束条件,其初始值设为一定满足条件的较大的数,在每次循环结束将每一级最优化问题求解的结果赋值给goal(i),作为下一级的约束条件,这样就实现了序贯算法,最终求得xx即为多目标规划的满意解

以下为所有变量

c15e463450eb48cf82363517c2181f93.jpg

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/55637
推荐阅读
相关标签
  

闽ICP备14008679号