数理最適化セミナーのご案内

3. ライブラリsolveLP,solveQP

 solveLPsolveQPはそれぞれC++のライブラリです.solveLPは(混合整数)線形計画問題を対象とするのに対し,solveQPは(混合整数)二次計画問題や(混合整数ではない)二次制約付き二次計画問題を対象とします(次の表を参照してください).

問題の種類 solveLP solveQP
線形計画問題
混合整数線形計画問題
二次計画問題 ×
混合整数二次計画問題 ×
二次制約付き二次計画問題 ×
二次制約付き混合整数二次計画問題 × ×

 

 問題は次の形式に定式化されているものとし,変数や制約式の上下限や係数行列をC++の配列として直接引数に取ります.入力の際にモデリング言語は用いません.

  • (混合整数)線形計画問題(solveLPが対応)

    \[\begin{array}{@{}lll@{}}
  \mbox{最小化・最大化} & \displaystyle \sum_{j} c_{j} \cdot x_{j}                         & j=1,\cdots,m \\
  \mbox{条件}           & \displaystyle cu_{i} \ge \sum_{j} A_{i,j} \cdot x_{j} \ge cl_{i} & \displaystyle \begin{array}{@{}l@{}}i=1,\cdots,n \\ j=1,\cdots,m\end{array} \\
                        & bu_{j} \ge x_{j} \ge bl_{j}                                      & j=1,\cdots,m \\
                        & (x_{j}\in Z)                                                     & (j \in I)
\end{array}\]

  • (混合整数)二次計画問題・二次制約付き問題(solveQPが対応)

    \[\begin{array}{@{}lll@{}}
  \mbox{最小化・最大化} & \displaystyle \sum_{j} c_{j} \cdot x_{j} + \frac{1}{2} \sum_{j,k} Q_{j,k} \cdot x_{j} \cdot x_{k}                             & \displaystyle \begin{array}{@{}l@{}} j=1,\cdots,m \\ k=1,\cdots,m \end{array} \\
  \mbox{条件}           & \displaystyle cu_{i} \ge \sum_{j} A_{i,j} \cdot x_{j} + \frac{1}{2} \sum_{j,k} Q_{j,k}^{i} \cdot x_{j} \cdot x_{k} \ge cl_{i} & \displaystyle \begin{array}{@{}l@{}} i=1,\cdots,n \\ j=1,\cdots,m \\ k=1,\cdots,m \end{array} \\
                        & bu_{j} \ge x_{j} \ge bl_{j}                                                                                                   & j=1,\cdots,m \\
                        & (x_{j} \in Z)                                                                                                                 & (j \in I)
\end{array}\]


 

 

上に戻る