Quantcast
Channel: ウィリアムのいたずらの、まちあるき、たべあるき
Viewing all articles
Browse latest Browse all 7268

整数計画問題と、ソルバーのSCIPとか

$
0
0
きのうの授業、最適化の「整数計画問題」関係のまとめをメモメモ



ワイン生産計画問題

SCIP(スキップ):フリーの混合整数計画ソルバー
http://scip.zib.de
ドイツの「じぶ」というところ

LPフォーマットで問題を記述

read 読み込みファイル
optimize
write solution ファイル名

参考文献1にある(Webにしかない)
整数計画問題のときは、キーワードhttp://www.tuat.ac.jp/~miya/ipmemo.html#SECTION04

単体法
 単純です。早い
 指数時間かかる→実際には改造すると、早い?

楕円体法
 実用的には遅い

内点法
 多項式的に早く
 実際にも早い

実際には、単体法と内点法のハイブリッド
  一発問題を解くなら内点法
  似た問題を解くなら単体法

単体法の基本的なアイデア
  行列の基本変形をシステマチックにするのが、単体法!

辞書(むかしは、タブローで説明→手で書くことない)

(1)不等式を等式で表現(変数を追加して等式にする)
 Z=にして、Zを最大
(2)その変数、およびZをならべ、
  追加した変数=数字+変数・・・
 にしていく。そうして、
・ピボット操作を繰り返す

作図で解く方法
・解をとる空間をつくる
・はじめ原点
・1個だけ変数ふやす点
・2個変数増やす点
・3個変数決めた点へ・・

問題点
・有限回で終わるか?
 →巡回する場合がある
 →うまいルール(ブランドのルール:添え字の小さい順)を使うとOK

・いつでもスタートできる
 →負の定数:2段階法(実行可能解を見つける)

・問題が等式だったら?
 →細かいこといろいろあるけど、省略

・単体:2次元空間 三角形
    3次元空間 4面体
 だんてぃぐは早いと確信していた

双対
だんてぃぐ:どうすれば、早く解ける?
ノイマン:

主問題
  max. CTX
  s.t. Ax ≦ b

双対問題
  min. yTb
  ST yTA=CT
    y≧0
(T : 転置行列を示す)

反射的:双対問題の双対問題は主問題
弱双対性:xとyがそれぞれの問題で実行可能→CTx<yTb
強双対性:実行可能解がある→最適解をもちCTx=yTb

変形方法
・(大きな)行列を用いる→あんまりよろしくない
・ラグランジュ緩和
  →制約を破るとペナルティになる/制約をなくした
  →y1,y2,y3を追加:ラグランジュ乗数
    →ラグランジュの未定乗数法の、あの乗数
  →上界をおさえる
・yについてまとめたものを、xについてまとめなおす

・s-t最短路問題
  →Totally Unimodular:線形緩和

更なるトピック
・どっちを解く?
  主双対{単体、内点}法→両方を使う
・主問題と双対問題
   →かならず1個あるが、解けるかどうか分からない
    (解がない・いくらでも解がある)

<HR>

整数計画問題
・ナップザック問題
 制約式1本

・彩色問題
  スケジュール立てる問題と同じ
 (1)色を数値

・うまい式を作れるかどうか

・ベンチマーク
 MIPLIB2010
http://miplib.zib.de/miplib2010.php

次回:ブランチ&バウンド、ブランチ&カット

<<Q&A>>
非線形:局所解はでるけど、全体最適は少ない変数でないときつい




Viewing all articles
Browse latest Browse all 7268

Trending Articles