1
我目前正在使用cplex設置Java程序。我想找到具有許多條款的成本函數的最小值。CPLEX最小化分段線性函數
現在事實證明,這些成本項中的一些不應該是線性的,而是分段線性的。我知道CPLEX可以做到這一點 - 但是如何?我幾乎找不到任何信息或教程。
有沒有人有這方面的經驗,可以推薦/給我看一些教程或代碼片段?
這將是超級有用的...在此先感謝! 菲利普
這裏我的代碼:
IloLinearNumExpr toMinimize = cplex.linearNumExpr();
for(float hour = start; hour <= end; hour += stepSize){
IloNumVar Purchase = cplex.numVar(0, Double.MAX_VALUE, "Purchase_" + hour);
PurchasePerHour.put(hour, Purchase);
toMinimize.addTerm(Rate, Purchase);
IloNumVar eSale = cplex.numVar(-Double.MAX_VALUE, 0, "Sale_" + hour);
SalePerHour.put(hour, Sale);
toMinimize.addTerm(SaleRate/4000, eSale);
/*
here should be a term similar to the sale/purchase ones above being piecewise linearly dependent from a variable
*/
}
cplex.addMinimize(toMinimize);
好的!我只是自己找到了...本應該採取更好看,對不起! 這正是我所尋找的...... 儘管如此,非常感謝! – user3060655