Initializing help system before first use

problem.repairweightedinfeasbounds

problem.repairweightedinfeasbounds


Purpose
An extended version of problem.repairweightedinfeas that allows for bounding the level of relaxation allowed. The returned value is the same as repairweightedinfeas.
Synopsis
status = problem.repairweightedinfeasbounds (lrp_array, grp_array, lbp_array, ubp_array, lrb_array, grb_array, lbb_array, ubb_array, phase2, delta, optflags)
Arguments
lrp_array 
Array of size ROWS containing the preferences for relaxing the less or equal side of row.
grp_array 
Array of size ROWS containing the preferences for relaxing the greater or equal side of a row.
lbp_array 
Array of size COLS containing the preferences for relaxing lower bounds.
ubp_array 
Array of size COLS containing preferences for relaxing upper bounds.
lrb_array 
Array of size ROWS containing the upper bounds on the amount the less or equal side of a row can be relaxed.
grb_array 
Array of size ROWS containing the upper bounds on the amount the greater or equal side of a row can be relaxed.
lbb_array 
Array of size COLS containing the upper bounds on the amount the lower bounds can be relaxed.
ubb_array 
Array of size COLS containing the upper bounds on the amount the upper bounds can be relaxed.
phase2 
Controls the second phase of optimization:
use the objective sense of the original problem (default);
maximize the relaxed problem using the original objective;
skip optimization regarding the original objective;
minimize the relaxed problem using the original objective;
if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
delta 
The relaxation multiplier in the second phase -1.
optflags 
Specifies flags to be passed to the Optimizer.
Further information
1. A row or bound is relaxed by introducing a new nonnegative variable that will contain the infeasibility of the row or bound. Suppose for example that row a Tx = b is relaxed from below. Then a new variable ('infeasibility breaker') s>=0 is added to the row, which becomes a Tx +s = b. Observe that a Tx may now take smaller values than b. To minimize such violations, the weighted sum of these new variables is minimized.
2. A preference of 0 results in the row or bound not being relaxed. The higher the preference, the more willing the modeller is to relax a given row or bound.
3. A negative preference indicates that a quadratic penalty cost should be applied. This can specified on a per constraint side or bound basis.
4. If a feasible solution is identified for the relaxed problem, with a sum of violations p, then the sum of violations is restricted to be no greater than ( 1+delta) p, and the problem is optimized with respect to the original objective function. A nonzero delta increases the freedom of the original problem.
5. Note that on some problems, slight modifications of delta may affect the value of the original objective drastically.
6. Note that because of their special associated modeling properties, binary and semi-continuous variables are not relaxed.
7. Given any row j with preferences lrp=lrp_array[j] and grp=grp_array[j], or variable i with bound preferences ubp=ubp_array[i] and lbp=lbp_array[i], the following rules are applied while introducing the auxiliary variables:

Preference        Affects                  Relaxation Cost if pref.>0 Cost if pref.<0
lrp = rows aTx - aux_var = b 1/lrp*aux_var 1/lrp*aux_var2
lrp <= rows aTx - aux_var <= b 1/lrp*aux_var 1/lrp*aux_var2
grp = rows aTx + aux_var = b 1/grp*aux_var 1/grp*aux_var2
grp >= rows aTx + aux_var >= b 1/grp*aux_var 1/grp*aux_var2
ubp upper bounds xi - aux_var <= u 1/ubp*aux_var 1/ubp*aux_var2
lbp lower bounds xi + aux_var >= l 1/lbp*aux_var 1/lbp*aux_var2


8. Only positive bounds are applied; a zero or negative bound is ignored and the amount of relaxation allowed for the corresponding row or bound is not limited. The effect of a zero bound on a row or bound would be equivalent with not relaxing it, and can be achieved by setting its preference array value to zero instead, or not including it in the preference arrays.
9. If an irreducible infeasible set (IIS) has been identified, the generated IIS(s) are accesible through the IIS retrieval functions, see NUMIIS and problem.getiisdata.
Related topics

© 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.