Next: Solver Specific Information
Up: EPLEX: The ECLiPSe/CPLEX Interface
Previous: Dealing with Large and
  Index
Error Handling
If the external solver's optimization aborts with an error condition,
or if limits are exceeded, lp_solve/2 raises one of the following events:
- eplex_suboptimal
- This means that a solution was found but it may be suboptimal.
The default behaviour is to print a warning and succeed.
- eplex_unbounded
- This means that the problem is unbounded. The default
behaviour is to bind Cost to infinity (positive or negative
depending on the optimisation direction), print a warning and
succeed. CAUTION: No solution values are computed when the
problem is unbounded, so unless the problem was set up with
the solution(no) option, an error will occur when trying to
continue as if the optimisation had succeeded.
- eplex_unknown
- This means that due to the solution method chosen, it is unknown
whether the problem is unbounded or infeasible. The default
behaviour is to print a warning and fail (even though this
may be logically wrong!).
- eplex_abort
- Some other error condition occurred during optimisation.
The default behaviour is to print an error and abort.
If the default behaviour for these special cases is undesirable,
the programmer can define their own handlers for those events, using
set_event_handler/2.
Such a handler could for instance change parameter settings and
call lp_solve again. The handler always
receives two arguments, the event name and the lp_solve/2 goal
in which the event was raised.
The return status of the unsuccessful external solver invocation
that caused the event can be accessed using
lp_get(Handle, status, ...).
Next: Solver Specific Information
Up: EPLEX: The ECLiPSe/CPLEX Interface
Previous: Dealing with Large and
  Index
Warwick Harvey
2002-05-15