Initializing help system before first use

Modeling for infeasibility

By 'modeling for infeasibility' we mean a model formulation that incorporates some extra freedom to make the problem feasible and minimizes the utilization of the added freedom. In mathematical terms this corresponds to introducing deviation variables in constraints to make them feasible and to penalize these deviations in the objective function. Adding deviation variables to a model formulation implies being able to modify the definition of variables or constraints after their creation, a feature well supported in Mosel and BCL.

NB: deviation variables should only be added in constraints that use external data (to make up for infeasibility in data). Do not relax constraints that have no data, only variables, representing relationships that must hold, such as inventory balance constraints, physical processes, conversion rates or mass balance.

»Scenario 1 (Mosel)

The example file examples\getting_started\Mosel\folioinfeas.mos solves an LP problem. If the problem instance is found to be infeasible the model retrieves and displays the infeasible variables and constraints, it then adds deviation variables to certain constraints and re-solves the modified problem. The final solution display takes into account the values of the deviation variables, thus providing some insight on the type of constraint violations.

»Scenario 2 (BCL)

The BCL file folioinfeas.[c|cxx|java] in directory examples\bcl\[C|Cxx|Java]\UGExpl implements the same algorithm as the Mosel model above: if a problem instance is found to be infeasible, the program adds deviation variables to certain constraints and re-solves the modified problem. The final solution display takes into account the values of the deviation variables, thus providing some insight on the type of constraint violations.

© 2001-2019 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.