List of Contributions

Daniel Junglas

Contact Details

My Content

1 to 20 of 50+ total
Posted By Daniel Junglas Fri September 18, 2020 01:14 AM
Found In Egroup: Decision Optimization
\ view thread
A typical trick for this is to define two ranges: range time0 = 0..5; range time = 1..5; The range relevant for modeling is still time but in the definition of variables you use time0: dvar float+ BTRY[time0]; dvar boolean Prd[tasks][time0]; Then you add constraints that fix the variables at time ...
Posted By Daniel Junglas Thu September 17, 2020 09:37 AM
Found In Egroup: Decision Optimization
\ view thread
One option would be to use multiple CSV files or concatenate the data from multiple CSVs into one. ------------------------------ Daniel Junglas ------------------------------
Posted By Daniel Junglas Thu September 17, 2020 04:32 AM
Found In Egroup: Decision Optimization
\ view thread
In the log you should definitely a line about MIP starts either providing or not providing a warm start. If you don't see this line then something is wrong. You can also set the solution limit parameter to 1. With this, if you provide a warmstart and CPLEX finds a feasible solution from that warmstart ...
Posted By Daniel Junglas Mon September 14, 2020 04:50 AM
Found In Egroup: Decision Optimization
\ view thread
From what you write it seems that it may be sufficient to use function getNMIPStarts() which will check the number of MIP starts in the model without raising an exception. Unfortunately, there is no way to explicitly mark a model as MIP, so your best option is to add a dummy variable or something ...
Posted By Daniel Junglas Mon September 14, 2020 12:30 AM
Found In Egroup: Decision Optimization
\ view thread
I cannot promise that this bug will be fixed in the next release. ------------------------------ Daniel Junglas ------------------------------
Posted By Daniel Junglas Fri September 11, 2020 05:05 AM
Found In Egroup: Decision Optimization
\ view thread
This is a bit odd. Does your code even compile? You have params[i].setParam(IloCplex::Param::Emphasis::MIP, 5); but the maximum value for this parameter is 4. This should raise an error sooner or later. Moreover, your output shows that this parameter is set to 1. So there is a disconnect between the ...
Posted By Daniel Junglas Thu September 10, 2020 02:11 AM
Found In Egroup: Decision Optimization
\ view thread
If you want to use an OPS file you must create an OPL project (i.e. an XML project configuration file) and then use the option of oplrun that executes a project rather than a set of files (OPS files cannot be specified on the command line). Alternatively, you can set CPLEX parameters inside the .mod ...
Posted By Daniel Junglas Thu September 10, 2020 01:21 AM
Found In Egroup: Decision Optimization
\ view thread
Can you show your code? Is it analogous to what is done in the multi-objective example that ships with CPLEX (ilodiet.cpp). ------------------------------ Daniel Junglas ------------------------------
Posted By Daniel Junglas Thu September 10, 2020 01:18 AM
Found In Egroup: Decision Optimization
\ view thread
You cannot specify an xls file on the command line. xls files must be referenced from .dat files instead. Check the oil example in the distribution or check the documentation for detailed explanations of `SheetConnection`. ------------------------------ Daniel Junglas -------------------------- ...
Posted By Daniel Junglas Thu September 10, 2020 01:06 AM
Found In Egroup: Decision Optimization
\ view thread
In the IDE you just add the .dat files to the respective run configuration. For the command line tool oplrun you either add the .dat files to the command line or (when running a project) to the run configurations in the project's XML file. By the way, did your user look at IDE and OPL > CPLEX Studio ...
Posted By Daniel Junglas Mon September 07, 2020 03:48 AM
Found In Egroup: Decision Optimization
\ view thread
What exactly changed on your machine since yesterday? Or did you maybe move to a different machine? It would seem strange if this stopped working out of the blue. Maybe you had some (automatic) updates applied to some software on your machine? ------------------------------ Daniel Junglas ----- ...
Posted By Daniel Junglas Mon September 07, 2020 12:53 AM
Found In Egroup: Decision Optimization
\ view thread
Yes, please open a new topic. Please also specify what "makes no sense" means. You probably also need to show the full model. Before doing that, you could also debug this yourself. For example, if you get a solution that is better than expected/allowed then check the constraints that this solution ...
Posted By Daniel Junglas Thu September 03, 2020 10:34 AM
Found In Egroup: Decision Optimization
\ view thread
Ok, you are lucky since one of the variables in question is a boolean variable. The constraint to linearize is forall (i in v) constraint3: u[i] and define a new helper variable dvar int+ sp[w][tt]; // s[i][k] * p[i][k] to add these constraints forall (i in v, k in t) ( (p[i][k] == 0) => ...
Posted By Daniel Junglas Thu September 03, 2020 07:03 AM
Found In Egroup: Decision Optimization
\ view thread
No. This is a non-convex quadratic constraint and CPLEX cannot handle this. However, did you post your full model? It seems that the variables u, s, p do not appear anywhere else? So you could set them all to 0 and remove the constraint. If this is not the full model and you have to keep the constraint, ...
Posted By Daniel Junglas Thu September 03, 2020 01:37 AM
Found In Egroup: Decision Optimization
\ view thread
Did you check whether the optimal solution for formulation 1 is feasible for formulation 2 and vice versa? I suggest to first check that because your different formulations of your constraints may not be equivalent (I did not check whether they allow the exact same set of integer feasible solutions). ...
Posted By Daniel Junglas Wed September 02, 2020 01:19 AM
Found In Egroup: Decision Optimization
\ view thread
The issue is the same as in the other packacge that we discussed here. According to your output you have -l$(CPLEXLIB) in LIBS and PKG_LIBS. This should be -lcplex for non-Windows platforms. The line to fix in the configure script is this one: ``` CPLEX_LIBS="-L$(CPLEXLIBDIR) `$(AWK) 'BEGIN (FS = ...
Posted By Daniel Junglas Mon August 31, 2020 06:52 AM
Found In Egroup: Decision Optimization
\ view thread
That is very weird. I take it, cplex.isPrimalFeasible() returns false? What happens if you attempt to query shadow prices even if solveFixed() returns false? ------------------------------ Daniel Junglas ------------------------------
Posted By Daniel Junglas Mon August 31, 2020 05:32 AM
Found In Egroup: Decision Optimization
\ view thread
Hm, it looks like the solveFixed() call does complete in some way. What do cplex.getStatus() and cplex.getCplexStatus() return after solveFixed() completes? ------------------------------ Daniel Junglas ------------------------------
Posted By Daniel Junglas Mon August 31, 2020 04:55 AM
Found In Egroup: Decision Optimization
\ view thread
The most simple way to me seems to just store the information you want to have. You can create a class that holds the information for i and j class Info ( public final int i; public final int j; public final IloRange r; public Info(int i, int j, IloRange r) ( this.i = i; this,j = j; this.r = ...
Posted By Daniel Junglas Thu August 27, 2020 01:43 AM
Found In Egroup: Decision Optimization
\ view thread
Instead of subCplex.status() you should use subCplex.getCplexStatus() to get the detailed CPLEX status, see here, However, your approach will unfortunately not work since the getRay() function is not supported in OPLScript's IloCplex class. ------------------------------ Daniel Junglas ------- ...