C 呼叫CPLEX求解簡單線性規劃問題樣例

2021-08-16 00:16:45 字數 1927 閱讀 7620

這次用的例子是《運籌學 第四版》清華大學出版社 上的例子

using system;

using system.drawing;

using system.collections;

using system.componentmodel;

using system.windows.forms;

using system.data;

using system.data.sqlclient;

using system.io;

using system.text;

using system.drawing.drawing2d;

using system.drawing.text;

using system.runtime.interopservices;

using system.collections.generic;

using ilog.concert;

using ilog.cplex;

public class ctransportproblem//節點

public void setparameters()

,//,

////};//決策變數係數

supply[0] = 11;supply[1] = 3;supply[2] = 1;

x = new double[m_ndemand];

}public double solvetransportproblembygurobi()

;//改動

double maxkeynumber = 0;

cplex cplexmodel = new cplex();

//定義變數,逐維度new

inumvar varx = new inumvar[m_nsupply];

numvartype typevar = new numvartype[m_ndemand];

//變數下界與上界

double lbvar = 0.0;

double ubvar = double.maxvalue;

for (j = 0; j < m_ndemand; j++)

//目標函式

ilinearnumexpr expr = cplexmodel.linearnumexpr();

for (j = 0; j < m_ndemand; j++)

cplexmodel.addminimize(expr);

//約束條件

expr = cplexmodel.linearnumexpr();

for (j = 0; j < m_ndemand; j++)

cplexmodel.addle(expr, supply[0]);

expr = cplexmodel.linearnumexpr();

for (j = 0; j < m_ndemand; j++)

cplexmodel.addge(expr, supply[1]);

expr = cplexmodel.linearnumexpr();

for (j = 0; j < m_ndemand; j++)

cplexmodel.addeq(expr, supply[2]);

//求解

double objvalue = double.maxvalue;

if (cplexmodel.solve())

'\t', "x.txt");

}cplexmodel.end();

return objvalue;}}

寫的比較匆忙,新增約束條件呢裡直接複製貼上的...有些粗糙 見諒...

線性規劃求解路徑問題

給定乙個帶權重的有向圖g v,e v為頂點集,e為有向邊集,每一條有向邊均有乙個權重。對於給定的頂點s t,以及v的子集v 尋找從s到t的不成環有向路徑p,使得p經過v 中所有的頂點 對經過v 中節點的順序不做要求 記邊的變數為ei 對應權重為ci 點記為vi 其出邊記為vo ji,其入邊記為vi ...

python求解線性規劃問題

最近在做最優化的作業,涉及到線性規劃問題,之前運籌學也學過相關問題,都是通過手寫單純性表來進行求解的,但學了python之後感覺太麻煩了,不如利用python來幫我們求解。線性規劃求解主要弄清楚兩個部分,目標函式 max,min 和約束條件 s.t.我們求解時一般要化為python的標準形式 在此用...

HDU2084 數塔問題 簡單線性規劃

在講述dp演算法的時候,乙個經典的例子就是數塔問題,它是這樣描述的 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?已經告訴你了,這是個dp的題目,你能ac嗎?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整...