Together, attributes FarkasDual and FarkasProof provide a certificate of infeasibility for the given infeasible problem. Specifically, FarkasDual provides a vector that can be used to form the following inequality from the original constraints that is trivially infeasible within the bounds of the variables:
This inequality is valid even if the original constraints have a mix of less-than and greater-than senses because if the -th constraint has a sense and if the -th constraint has a sense.
be the coefficients of this inequality and
be its right hand side. With and being the lower and upper bounds of the variables , we have if , and if .
The minimum violation of the Farkas constraint is achieved by setting for and for . Then, we can calculate the minimum violation as
The FarkasProof attribute gives the value of .
These attributes are only available when parameter InfUnbdInfo is set to 1.
For examples of how to query or modify attributes, refer to our Attribute Examples.