流行算法類工具盤點(diǎn)(一):混合整數(shù)線性規(guī)劃(MILP)解算器lpsolve

2017-01-17  by:CAE仿真在線  來(lái)源:互聯(lián)網(wǎng)

名稱:lpsolve
解決問(wèn)題:純線性問(wèn)題,混合的整型和二進(jìn)制問(wèn)題,半蟬聯(lián)性與特別命令集(SOS) 板型
應(yīng)用平臺(tái):由ANSI C編著,可應(yīng)用于Linux和WINDOWS等不一樣平臺(tái)。
使役案例:解決下圖所示的最大流問(wèn)題(這幅圖已經(jīng)標(biāo)注出求解結(jié)果了):
lpsolve IDE背景中只需輸入如次的文本,是不是十分簡(jiǎn)單直觀:
而后按一個(gè)運(yùn)行按鍵(紅框標(biāo)注),出現(xiàn)以下的求解結(jié)果,紅框標(biāo)注的是結(jié)果,藍(lán)框標(biāo)注的是求解信息,涵蓋浪費(fèi)時(shí)間等等:
關(guān)于lpsolve IDE背景的詳細(xì)使役申說(shuō)可以參考其使役手冊(cè)(lpsolve下載主頁(yè)上可自由下載),看見(jiàn)這搭或許有人會(huì)問(wèn),上頭的例子很簡(jiǎn)單,假如對(duì)于復(fù)雜的網(wǎng)絡(luò)拓?fù)?自個(gè)兒手動(dòng)輸入這些表現(xiàn)式顯然是不事實(shí)的, 那該怎么辦,好在lpsolve可以集成在別的開(kāi)發(fā)背景中,它提供了一全副API,可供調(diào)用,具體也請(qǐng)參考使役手冊(cè),上頭提到的博客里對(duì)于matlab調(diào)用lpsolve有簡(jiǎn)單的申說(shuō),這搭補(bǔ)給說(shuō)一下,mxlpsolve('write_lp',lp,'a.lp')這個(gè)語(yǔ)句可以生成IDE背景里可直接執(zhí)行的腳本文件(C,JAVA等接口也有類似語(yǔ)句),這么復(fù)雜的問(wèn)題可以用高級(jí)編程語(yǔ)言建模,而后生成LP腳本文件單獨(dú)在IDE中運(yùn)行,是不是很便捷。
以上這個(gè)Max Flow的例子直接用matlab自帶的linprog工具箱求解,開(kāi)具代碼是:
f = [ -1 -1 -1 0 0 0 0 0 0 0 0 0 ]; A = ; b = ; Aeq = [1 0 0 -1 -1 0 0 0 0 0 0 0 0 1 0 0 0 -1 -1 -1 0 0 0 0 0 0 1 0 0 0 0 0 -1 0 0 0 0 0 0 1 0 1 0 0 0 -1 0 0 0 0 0 0 1 0 1 0 1 0 -1 0 0 0 0 0 0 0 0 1 0 0 0 -1 ]; beq = zeros(6,1); lb = zeros(12,1); ub = [3;2;2;5;1;1;3;1;1;4;2;4]; x = linprog(f,A,b,Aeq,beq,lb,ub);求解結(jié)果如次,可以看見(jiàn)雖然最大流的值是不錯(cuò)的,但其他邊上的流卻與lpsolve求解結(jié)果有巨大差異:

原文地址(轉(zhuǎn)載請(qǐng)注明):體育比分直播 www.a9988.net

開(kāi)放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:流行算法類工具盤點(diǎn)(一):混合整數(shù)線性規(guī)劃(MILP)解算器lpsolve MatLab培訓(xùn) MatLab培訓(xùn)課程 MatLab在線視頻教程 MatLab技術(shù)學(xué)習(xí)教程 MatLab軟件教程 MatLab資料下載 MatLab代做 MatLab基礎(chǔ)知識(shí) Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請(qǐng)直接聯(lián)系我們的客服,您也可以通過(guò)下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國(guó)服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com