簡體   English   中英

Cplex 使用 Java - 向 IloNumExpr 添加一個常數

[英]Cplex using Java - adding a constant number into IloNumExpr

我正在嘗試向IloNumExpr添加一個常量值,但obj.addTerm()不接受double類型,我找不到 function 來向IloNumExpr添加double精度值。

例如:

如果我的目標是min p + some variables 我如何將double類型的 p 添加到IloLinearNumExpr obj = cplex.linearNumExpr()

這對求解器/解決方案沒有影響(假設我們正在談論目標偏移量。)並且可以跳過它並通過將偏移量重新添加到最終目標值來對其進行后處理。

如果有人對 model 中的這個感興趣(出於某種原因),總是可以向目標添加一個額外變量並修復它(例如通過設置 lower_bound = upper_bound = offset)。

但是根據文檔,cplex 似乎為此提供了一些專用功能:

設定目標有多種方法,但您需要:

  • 創建IloObjective object(鏈接到模型)
  • 調用上面的 function 設置常量
  • 添加您的線性項

從來沒有使用過我期望它看起來類似於的 java 接口(代碼可能已損壞):

IloCplex cplex = new IloCplex();

double constant = 1.0;          // your objective offset constant
IloNumExpr obj_expr = ...       // your linear objective

IloObjective obj = cplex.addMinimize();
obj.setConstant(constant);
obj.setExpr(obj_expr);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM