OptFindIIS
New to Analytica 4.3. Prior to Analytica 4.3, was named LpFindIIS.
OptFindIIS(opt)
Finds an Irreducibly Infeasile Subset of Constraints in a linear program defined using DefineOptimization or LpDefine.
An Irreducibly Infeasibe Subset (IIS) of constraints is a subset of your constraints which contains no feasible solution, but which has the property that if any single constraint is removed, there will be feasible solutions. Thus, it is a minimal set of conflicting constraints.
When OptStatusNum(opt,true)
returns 0, it indicates that there are no feasible solutions -- that the set of constraints are contradictory. This function is useful for locating the source of the contradiction.
When called with a single parameter as shown above, a subset of the Constraints index is returned. If any constraint in that subset were to be eliminated, the resulting set of constraints would be feasible.
Variable Bound reduction
OptFindIIS( lp ; newLp : optional boolean )
It is possible also to reduce the lower and upper variable bounds, in addition to the constraints, to find a more constrained IIS. This is accomplished by specifying an optional parameter, «newLp», to be true, e.g.:
OptFindIIS(myLp, newLp:true )
When the «newLp» parameter is specified as true, a new linear program object instance is created and returned. The components of this LP can be accessed using the OptInfo function, e.g.:
OptInfo(myLp,"Constraints") OptInfo(myLp,"lb") OptInfo(myLp,"ub")
The LP returned is infeasible, but if any single remaining variable bound, or any single constraint, were to be removed, the resulting LP would be feasible.
Enable comment auto-refresher