## Apps.MpecExamples History

Hide minor edits - Show changes to markup

(:html:)<font size=1><pre>

(:html:)<font size=2><pre>

(:html:)<font size=1><pre>

(:html:)<font size=2><pre>

(:html:)<font size=1><pre>

(:html:)<font size=2><pre>

(:html:)<font size=1><pre>

(:html:)<font size=2><pre>

Mathematical Programs with Equilibrium Constraints (MPECs) are formulations that can be used to model certain classes of discrete events. MPECs can be more efficient than solving mixed integer formulations of the optimization problems.

Mathematical Programs with Equilibrium Constraints (MPECs) are formulations that can be used to model certain classes of discrete events. MPECs can be more efficient than solving mixed integer formulations of the optimization problems because it avoids the combinatorial difficulties of searching for optimal discrete variables.

Mathematical Programs with Equilibrium Constraints (MPECs) are formulations that can be used to model certain classes of discrete events. MPECs can be more efficient than solving mixed integer problems.

Mathematical Programs with Equilibrium Constraints (MPECs) are formulations that can be used to model certain classes of discrete events. MPECs can be more efficient than solving mixed integer formulations of the optimization problems.

Model signum

Model sign

Model signum

Model abs

y = x1 + s_a

y = x1 - s_a

# MPEC formulation for MIN function

# y = MIN(x1,x2) returns a value y, where:

# y = x1 if x1 < x2

# y = x2 if x2 < x1

Model signum

Parameters x1 = -2 x2 = -1 End Parameters Variables y ! slack variables s_a >= 0 s_b >= 0 End Variables Equations ! test min operator, y = min(x1,x2) x2 - x1 = s_b - s_a y = x1 + s_a minimize s_a*s_b End Equations

End Model </pre></font>(:htmlend:)

### Maximum Selector (MAX) Operator

(:html:)<font size=1><pre>

# MPEC formulation for MAX function

# y = MAX(x1,x2) returns a value y, where:

# y = x1 if x1 > x2

# y = x2 if x2 > x1

Model signum

Parameters x1 = -2 x2 = 4 End Parameters Variables y ! slack variables s_a >= 0 s_b >= 0 End Variables Equations ! test max operator, y = max(x1,x2) x2 - x1 = s_a - s_b y = x1 + s_a minimize s_a*s_b End Equations

End Model

(:html:)<font size=1><pre>

# MPEC formulation for ABS function

# y = ABS(x) returns a value y, where:

# y = x if the corresponding element of X is greater than zero

# y = -x if the corresponding element of X is less than zero

Model signum

Parameters x = -2 End Parameters Variables y s_a >= 0 s_b >= 0 End Variables Equations ! test abs operator, y = abs(x) x = s_b - s_a y = s_a + s_b minimize s_a*s_b End Equations

End Model </pre></font>(:htmlend:)

### Minimum Selector (MIN) Operator

### SIGN Operator

### Absolute Value (ABS) Operator

(:html:)<font size=1><pre> </pre></font>(:htmlend:)

</pre></font>(:htmlend:)

# MPEC formulation for SIGN function

# y = SIGN(x) returns a value y, where:

# 1 if the corresponding element of X is greater than zero

# -1 if the corresponding element of X is less than zero

Model signum

Parameters x = -2 End Parameters Variables y >= -1, <= 1 s_a >= 0 s_b >= 0 End Variables Equations ! test sign operator, y = sign(x) x = s_b - s_a minimize s_a*(1+y) + s_b*(1-y) End Equations

End Model </pre></font>(:htmlend:)

## MPEC: Mathematical Programs with Equilibrium Constraints

Mathematical Programs with Equilibrium Constraints (MPECs) are formulations that can be used to model certain classes of discrete events. MPECs can be more efficient than solving mixed integer problems.

### MPEC examples

(:html:)<font size=1><pre>

</pre></font>(:htmlend:)