當前位置:編程學習大全網 - 編程軟體 - 用粒子群算法求解線性約束整數規劃的Matlab程序

用粒子群算法求解線性約束整數規劃的Matlab程序

對粒子群的約束問題涉及的比較少。這兒摘抄下百度百科的內容:

PSO算法推廣到約束優化問題,分為兩類:(/view/1531379.htm)

(1)罰函數法。罰函數的目的是將約束優化問題轉化成無約束優化問題。

(2)將粒子群的搜索範圍都限制在條件約束簇內,即在可行解範圍內尋優。

第壹種方法有相關論文,看了下,感覺比較適合等式約束情況,比較類似於在適應度函數中加入拉格朗日乘子的做法,如果論文下不到的話,請留言。

第二種做法倒是用過。大概講下。

針對妳的問題,初始化兩維向量,但是由於存在不等式約束,所以考慮先初始化向量的第壹維,然後動態算出第二維的範圍,隨機出第二維變量。然後就是計算適應度值,全局、局部最優。

更新過程壹樣,先更新第壹維變量,然後動態計算第二維的範圍,更新第二維,如果更新後超過了邊界,則取邊界值(或者也可以再次重新更新,直到滿足條件,直覺上感覺第壹種還好點,第二種可能會出現無法更新的情況),更新完畢後,計算適應度,更新全局、局部最優解。

補充兩個鏈接吧

/detail/yinjian_2004/1567342

論文:基於改進粒子群優化算法的約束多目標優化

  • 上一篇:初中技校有什麽專業?哪個專業比較好?
  • 下一篇:Ug如何搭建多層板
  • copyright 2024編程學習大全網