![](/img/trans.png)
[英]ASP.net MVC How to run multiple instances of the same app at the same time in different subdomains?
[英]How to run multiple instances(datasets) from same CPLEX model?
我在 CPLEX 中有一個 MIP 模型作為 mod 文件。 我在多個“.txt”文件中有數據集。 有沒有一種方法可以自動化 CPLEX 中的流程來解決許多實例的模型。 目前,我為每個實例每次運行模型。 我的實例為“M1_D1.txt”、“M2_D1.txt”、....“M100_D10.txt”。 但是,要解決的模型是相同的。
在 Matlab 中,更容易自動化該過程。 但是我在任何地方都找不到如何在 CPLEX 中實現自動化。
define variables
retrieve data from .dat file
define objective function
define constraints
您可以使用主塊(流量控制)這是一個示例:
子模塊
float maxOfx = ...;
dvar float x;
maximize x;
subject to {
x<=maxOfx;
}
execute
{
writeln("x= ",x);
}
嘗試1.dat
maxOfx=1;
嘗試2.dat
maxOfx=2;
接着
主模塊
{string} datFiles=...;
main {
var source = new IloOplModelSource("sub.mod");
var cplex = new IloCplex();
var def = new IloOplModelDefinition(source);
for(var datFile in thisOplModel.datFiles)
{
var opl = new IloOplModel(def,cplex);
var data2= new IloOplDataSource(datFile);
opl.addDataSource(data2);
opl.generate();
if (cplex.solve()) {
opl.postProcess();
var o=new IloOplOutputFile("res"+datFile+".txt");
o.writeln("OBJ = " + cplex.getObjValue());
o.close();
writeln("OBJ = " + cplex.getObjValue());
} else {
writeln("No solution");
}
opl.end();
}
}
主要數據
datFiles={"Try1.dat","try2.dat"};
在命令行中 oplrun main.mod main.dat 在 IDE 中,需要在運行配置中有 main.mod 和 main.dat
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.