约束问题的直接解法,像是在无约束问题的直接解法中加入了约束条件的判断。
随机方向法对应着坐标轮换法,而复合形法对应着单纯形法。
复合形法
复合形法与第二种单纯形法的相似度极高,请参见工程优化设计与Matlab实现——无约束问题的直接解法(二)中的第二种单纯形法。
复合形法的基本思路是在可行域内构造一个具有N个顶点的复合形,找出各顶点中的最坏点(函数值最大的点),再沿某一方向找到函数值下降的点来替换最坏点,得到新的复合形
有了单纯形法的基础,直接上流程图:
![6952c4e27961429e17caaff08f81af33.png](https://i-blog.csdnimg.cn/blog_migrate/7550f1246c0b5fcde63b6717144afc21.jpeg)
举栗子
利用复合形法求目标函数在约束条件下的极小值点和极小值
主程序如下:
clc
目标函数定义如下:
function
复合形法函数定义如下:
function
计算结果如下:
![a32f28cf5a56eada19c8be86e5c899e3.png](https://i-blog.csdnimg.cn/blog_migrate/a9e7f6fabfdb8b9ac2b8abf19754edfd.jpeg)
![271cab5853af40007f1b56f76154d28a.png](https://i-blog.csdnimg.cn/blog_migrate/fb90e8fe6048f5b9276dbf161ae73403.jpeg)
复合形法函数程序说明如下:
![20aa8e23e79f20c99c0377c5c031828d.png](https://i-blog.csdnimg.cn/blog_migrate/32faf4cd518474aa9d86798654d58943.jpeg)