Constraints

The following constraints are used in this example:

  • bounds on variables

  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$,

    \begin{align*} & \quad \sum _{\text {option} \in \text {OPTIONS}} (\Variable{S1[i,class,option]} + \Variable{S2[i,j,class,option]} + \Variable{S3[i,j,k,class,option]}) \\ & + \Variable{TransferFrom[i,j,k,class]} - \Variable{TransferTo[i,j,k,class]} \\ & \le \Argument{num\_ seats[class]} \cdot \Variable{NumPlanes} \end{align*}
  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$,

    \[  \Variable{TransferFrom[i,j,k,class]} \le \Argument{transfer\_ fraction\_ ub} \cdot \Argument{num\_ seats[class]}  \]
  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$,

    \[  \Variable{TransferTo[i,j,k,class]} \le \Argument{transfer\_ fraction\_ ub} \cdot \Argument{num\_ seats[class]}  \]
  • for $(i,j,k) \in \text {SCENARIOS3}$,

    \[  \sum _{\text {class} \in \text {CLASSES}} \Variable{TransferFrom[i,j,k,class]} = \sum _{\text {class} \in \text {CLASSES}} \Variable{TransferTo[i,j,k,class]}  \]
  • for $\text {class} \in \text {CLASSES}$,

    \[  \sum _{\text {option} \in \text {OPTIONS}} \Variable{P1[class,option]} = 1  \]
  • for $i \in \text {SCENARIOS}$ and $\text {class} \in \text {CLASSES}$,

    \[  \sum _{\text {option} \in \text {OPTIONS}} \Variable{P2[i,class,option]} = 1  \]
  • for $(i,j) \in \text {SCENARIOS2}$ and $\text {class} \in \text {CLASSES}$,

    \[  \sum _{\text {option} \in \text {OPTIONS}} \Variable{P3[i,j,class,option]} = 1  \]
  • for $i \in \text {SCENARIOS}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{S1[i,class,option]} \le \Argument{demand[1,i,class,option]} \cdot \Variable{P1[class,option]}  \]
  • for $(i,j) \in \text {SCENARIOS2}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{S2[i,j,class,option]} \le \Argument{demand[2,j,class,option]} \cdot \Variable{P2[i,class,option]}  \]
  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{S3[i,j,k,class,option]} \le \Argument{demand[3,k,class,option]} \cdot \Variable{P3[i,j,class,option]}  \]
  • for $i \in \text {SCENARIOS}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{R1[i,class,option]} \le \Argument{price[1,class,option]} \cdot \Variable{S1[i,class,option]}  \]
  • for $i \in \text {SCENARIOS}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \begin{align*} & \quad \Argument{price[1,class,option]} \cdot \Variable{S1[i,class,option]} - \Variable{R1[i,class,option]} \\ & \le \Argument{price[1,class,option]} \cdot \Argument{demand[1,i,class,option]} \cdot (1 - \Variable{P1[class,option]}) \end{align*}
  • for $(i,j) \in \text {SCENARIOS2}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{R2[i,j,class,option]} \le \Argument{price[2,class,option]} \cdot \Variable{S2[i,j,class,option]}  \]
  • for $(i,j) \in \text {SCENARIOS2}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \begin{align*} & \quad \Argument{price[2,class,option]} \cdot \Variable{S2[i,j,class,option]} - \Variable{R2[i,j,class,option]} \\ & \le \Argument{price[2,class,option]} \cdot \Argument{demand[2,j,class,option]} \cdot (1 - \Variable{P2[i,class,option]}) \end{align*}
  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \[  \Variable{R3[i,j,k,class,option]} \le \Argument{price[3,class,option]} \cdot \Variable{S3[i,j,k,class,option]}  \]
  • for $(i,j,k) \in \text {SCENARIOS3}$ and $\text {class} \in \text {CLASSES}$ and $\text {option} \in \text {OPTIONS}$,

    \begin{align*} & \quad \Argument{price[3,class,option]} \cdot \Variable{S3[i,j,k,class,option]} - \Variable{R3[i,j,k,class,option]} \\ & \le \Argument{price[3,class,option]} \cdot \Argument{demand[3,k,class,option]} \cdot (1 - \Variable{P3[i,j,class,option]}) \end{align*}