<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦 > 學習電腦 > 電腦安全 > 系統安全 > java如何調用cplex

        java如何調用cplex

        時間: 黎正888 分享

        java如何調用cplex

          Cplex是IBM公司的一個優化軟件,可以用來求解線性規劃(Linear Programming,LP),二次規劃(Quadratic Programming,QP)、混合整數規劃(Mixed Integer Programming,MIP)問題。下面就讓學習啦小編給大家說說java如何調用cplex吧。

          java調用cplex的方法

          首先需要安裝Cplex軟件,我安裝的版本是cplex_studio122.win-x86-32.exe

          下圖安裝后打開的Cplex自帶的IDE,看上去跟Eclipse差不多。

          在Cplex的安裝目錄下有許多值得我們學習的東西,還有一些examples,可供我們參考。

          我是在Eclipse中使用Java調用Cplex,所以先把一些Cplex依賴加上。

          運行依賴:cplex.jar(在..\cplex\lib目錄下找到)和cplex122.dll(在..\cplex\bin目錄下找到)。將cplex.jar加到工程的Build Path中。

          cplex122.dll可以設置到運行時的環境中(VM arguments),或者添加到項目的Native library location。

          接下來我們求解一個具體的線性規劃問題。

          例如,我們求解下面這樣一個線性規劃問題:

          Maximize x1 + 2x2 + 3x3

          subject to

          -x1 + x2 + x3 ≦20

          x1 - 3x2 + x3 ≦30

          with these bounds

          0 ≦x1 ≦40

          0 ≦x2 ≦+∞

          0≦ x3≦ +∞

          先創建一個IloCplex對象,它是用來創建所有建模對象所需要的模型。此時會拋出一個異常:IloException,需要try\catch。

          代碼如下:static public class Application {

          static public main(String[] args) {

          try {

          IloCplex cplex = new IloCplex();

          // create model and solve it

          } catch (IloException e) {

          System.err.println("Concert exception caught: " + e);

          }

          }

          }

          定義決策變量: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);

          定義目標函數:

          IloNumExpr expr = cplex.sum(x[0], cplex.prod(2.0, x[1]),cplex.prod(3.0, x[2]));

          cplex.addMaximize(expr);

          其中這個地方有許多寫法,大家在使用的時候可以注意一下。

          定義決策的約束條件:cplex.addLe(cplex.sum(cplex.negative(x[0]), x[1], x[2]), 20);cplex.addLe(cplex.sum(cplex.prod(1, x[0]), cplex.prod(-3, x[1]),cplex.prod(1, x[2])), 30);

          最后解決模型問題:if(cplex.solve()){....}

          如果solve()返回true的話,我們可以獲取一些信息,例如問題的解決狀態、獲取方案的目標值、獲取數組中的所有決策變量的解值。

          cplex.getStatus()返回值類型:Error、Unknown、Feasible、Bounded、Optimal、Infeasible、Unbouded、InfeasibleorUnbounded。

          獲取方案的目標值:double objval = cplex.getObjValue();獲取數組中的所有決策變量的解值:double[] xval = cplex.getValues(x);

          運行程序最后控制臺的輸出結果如下所示:


        猜你感興趣的:

        1.java動態調用方法

        2.Java中對象和引用的具體區別

        3.ajax調用java方法

        4.Java怎么調用系統命令

        5.ajax調用java后臺方法是什么

        6.velocity調用java方法

        2152828 主站蜘蛛池模板: 黑森林福利视频导航| 国内不卡不区二区三区| 亚洲国产精品无码中文| 美女自卫慰黄网站| 一个人看的WWW免费视频在线观看 国产成人无码免费看视频软件 | 亚洲an日韩专区在线| 国产人妻精品午夜福利免费| 强伦姧人妻免费无码电影| 久久夜色精品国产欧美乱极品| 国产精品免费视频不卡| 亚洲精品片911| 亚洲精品一区二区毛豆| 亚洲av日韩av永久无码电影| 国产高清无遮挡内容丰富| 亚洲国产成人麻豆精品| 久久这里只精品国产2| 成人性无码专区免费视频| 国产精品黄色大片在线看| 精品精品亚洲高清a毛片| 亚洲精品日韩精品久久| 日本高清www无色夜在线视频| 丝袜国产一区av在线观看| 亚洲AV无码成人精品区| 国产精品内射视频免费| 骚片av蜜桃精品一区| 欧美日韩国产精品爽爽| 亚洲午夜亚洲精品国产成人| 强奷乱码中文字幕| 在线看国产精品自拍内射| 亚洲精品成人7777在线观看| 激情伊人五月天久久综合| 亚洲欧美日韩第一页| 国产精品沙发午睡系列990531| 人妻丝袜无码专区视频网站| 黄色特级片一区二区三区| 国产av一区二区不卡| 成人日韩av不卡在线观看| 真实国产老熟女无套内射| 亚洲乱码一卡二卡卡3卡4卡| 中文激情一区二区三区四区| 无码人妻精品一区二区三区不卡|