Solver error message
SolverSDK: Unexpected error. Please contact Technical Support. The Frontline solver engine has reported an unknown error. Please email firstname.lastname@example.org for assistance. Please attach your model and list the steps for reproducing the problem in the email.
This error suggests a bug inside the Solver engine that Lumina licenses from Frontline Systems. We would much appreciate if you could let us know if you see this message. Email us at email@example.com -- especially, if you can provide a reproducible example, i.e. an Analytica model, and the steps to reproduce the problem. We will work with Frontline's engineering team to see if we can fix it.
Since it is an internal bug, the error message can give no clues about why the solver failed . If Frontline knew what caused the error, they'd probably have fixed it. But since the solver runs the vast majority of problems without this error, you can assume that your formulation is unusual in some way -- e.g.:
- Maybe it pushes the bounds of available memory, and an out-of-memory condition wasn't handled gracefully?
- Maybe your problem involves NaN, Null, or INF values that might trip it up?
- Maybe you have some unusual settings (i.e., the «Parameter» and «Settings» parameters to DefineOptimization, LpDefine, NlpDefine or QpDefine).
- Maybe your quadratic constraints have a singularity?
Integer LP preprocessing cause
We have seen this occur in an integer LP. The cause was traced to a bug inside the integer LP preprocessing phase in the Frontline LP/Quadratic engine. This particular bug was highly intermittent and reproduced only on Windows XP with the 32-bit edition of Analytica, not on Vista or Windows 7, nor in the 64-bit edition of Analytica. The bug was identified and should be fixed by release of Analytica 4.3. This bug can be eliminated by turning off preprocessing, or by switching the solver engine. To turn off preprocessing, add these parameters to your LpDefine call:
LpDefine(..., parameter: "PreProcessing", setting: 2)
No bounds in evolutionary engine
This can occur when the evolutionary engine is being used for a NLP and some decision variables have no bounds.
Remedy here -- add bounds for all decision variables, or change to the "GRG Nonlinear" (or other add-on) engine.
Inside LpFindIIS or OptFindIIS
We have an unsolved case where LpFindIIS or OptFindIIS stops responding to windows events for several minutes. After about 4 or 5 minutes of this, the error appears. The trigger for this cause is unsolved.
First, make sure you are using the latest Analytica release, so that if the underlying problem has previously been identified and fixed, you will have the fix. Go to the Analytica Download Page to check what the most recent release is.
The problem might be specific to a particular solver engine, so changing engines might make it go away. For a non-linear problem, you might be able to change from the "GRG Engine" to the "Evolutionary" engine. For a linear or quadratic, you might be able to changed from the "LP/Quadratic" engine to the "SOCP Barrier" engine, or for a LP, QP or quadratically constrained QP, you could try changing to "GRG Nonlinear". There are also numerous add-on engines also available. To change the engine, specify the engine name in the «Engine» parameter.
Next, you would want to see if you can identify something unusual about your formulation. For an LP or QP, examine all the input parameters carefully. Look for any INF, NaN or Null values, or other extremes that might be unusual.
For a non-linear problem, add the «traceFile» parameter (specify a filename) and try solving it. Then pull the trace file up in a text editor and examine the sequence of steps that the solver explored. Sometimes you can see something unexpected happening -- the solution going off in a strange direction. Maybe that led the solver into a spot where it got tripped up. It might expose a problem in your formulation, so that if you correct that, it'll avoid this internal error.
Try changing integer decisions to continuous and see if it makes a difference. Unset unusual parameter settings.
We have seen cases where repeating the evaluation of OptSolution on the same LP eventually succeeds. In one case, it finally completed (with "no feasible solution" returned) on the third evaluation. So just retrying multiple times may be a remedy in certain cases. A complete pain, yes, but perhaps better than nothing.
If you do manage to find a workaround in your case, you should still report this to firstname.lastname@example.org, who will look at it and forward bug reports to Frontline if necessary. This way, the underlying cause can be identified and fixed for future releases.