知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們在追求其視覺表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營銷的便利,運(yùn)營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏壧峁┍憬莸闹С郑?
線性最優(yōu)解java實(shí)現(xiàn)+Cplex java調(diào)用
發(fā)表時(shí)間:2019-7-5
發(fā)布人:葵宇科技
瀏覽次數(shù):50
一:cplex的使用:
1.1 導(dǎo)入cplex.jar,包的地址:https://pan.baidu.com/s/1Q0Bv24EQdelV2rY-IrLoZQ 提取碼:xn14
1.2 將cplex1290.dll (地址:https://pan.baidu.com/s/1sQXqYTSJWywwaZt5AHVkZQ 提取碼:nm0l)添加到VM option中,這里以IDEA為例,
同樣eclipse
**二、求解問題。
- 一個(gè)簡單的線性規(guī)劃問題:**
maxs.t.x1+2x2+3x3
?x1+x2+x3≤20
x1?3x2+x3≤30
0≤x1≤40
java 中的 cplex 代碼如下:
import ilog.concert.IloException;
import ilog.concert.IloNumVar;
import ilog.cplex.IloCplex;
public class LP1 {
public static void main(String[] args) {
try {
IloCplex cplex = new IloCplex(); // creat a model
double[] lb = {0.0, 0.0, 0.0};
double[] ub = {40.0, Double.MAX_VALUE, Double.MAX_VALUE};
IloNumVar[] x = cplex.numVarArray(3, lb, ub);
double[] objvals = {1.0, 2.0, 3.0};
cplex.addMaximize(cplex.scalProd(x, objvals));
double[] coeff1 = {-1.0, 1.0, 1.0};
double[] coeff2 = {1.0, -3.0, 1.0};
cplex.addLe(cplex.scalProd(x, coeff1), 20.0);
cplex.addLe(cplex.scalProd(x, coeff2), 30.0);
if (cplex.solve()) {
cplex.output().println("Solution status = " + cplex.getStatus());
cplex.output().println("Solution value = " + cplex.getObjValue());
double[] val = cplex.getValues(x);
for (int j = 0; j < val.length; j++)
cplex.output().println("x" + (j+1) + " = " + val[j]);
}
cplex.end();
} catch (IloException e) {
System.err.println("Concert exception caught: " + e);
}
}
}
輸出結(jié)果:
Tried aggregator 1 time.
N
o LP presolve or aggregator reductions.
Presolve time = 0.00 sec. (0.00 ticks)
Iteration log . . .
Iteration: 1 Dual infeasibility = 0.000000
Iteration: 2 Dual objective = 202.500000
Solution status = Optimal
Solution value = 202.5
x1 = 40.0
x2 = 17.5
x3 = 42.5
這里注意一下,求的是線性公式的最大值,而在MATLAB中利用x=linprog(f,[],[],Aeq,beq,lb);
求解的是最小值(我怎么調(diào)試都不一致的原因),這里的參數(shù)就不在贅述了。
還有就是設(shè)置cplex API在https://wenku.baidu.com/view/7095dd76777f5acfa1c7aa00b52acfc789eb9fed.html有介紹(雖然是c#的,但是java可以借鑒。
三 線性最優(yōu)解的java實(shí)現(xiàn)
代碼地址:https://pan.baidu.com/s/1UeyQdPLMideXKqUaDBFYZQ 提取碼:rte1
里面有詳細(xì)注解,這里就不再解釋,希望對大家有幫助!
借鑒:https://blog.csdn.net/robert_chen1988/article/details/78678289 ,感謝這位博主的文章。
相關(guān)案例查看更多
相關(guān)閱讀
- 云南省建設(shè)廳官方網(wǎng)站
- 北京小程序制作
- 網(wǎng)絡(luò)公司
- 昆明小程序定制開發(fā)
- 云南網(wǎng)站建設(shè)方法
- 云南網(wǎng)站建設(shè)招商
- 安家微信小程序
- 昆明網(wǎng)站設(shè)計(jì)
- 云南小程序公司
- 云南網(wǎng)站建設(shè)電話
- 迪慶小程序開發(fā)
- 云南小程序開發(fā)哪家好
- 國內(nèi)知名網(wǎng)站建設(shè)公司排名
- 云南網(wǎng)站維護(hù)
- 云南建站公司
- 云南網(wǎng)站建設(shè)選
- 云南網(wǎng)站建設(shè)
- 花農(nóng)小程序
- 跳轉(zhuǎn)小程序
- 云南小程序開發(fā)制作公司
- 退款
- 云南建設(shè)廳網(wǎng)站首頁
- 小程序用戶登錄
- 智慧農(nóng)貿(mào)市場
- 云南科技公司
- 麗江小程序開發(fā)
- 小程序開發(fā)排名前十名
- 制作一個(gè)小程序
- 云南省建設(shè)廳網(wǎng)站
- 小程序公司