
参考にしている文献
(http://www.me.titech.ac.jp/~mizu_lab/suuti_kougi …)
線形計画問題において、等式標準形の線形計画問題は、
目的:cTx → 最小
条件:Ax=b、x>=0 ・・・ (1)
となる。
現時点の点をx_t とする。
(1)の条件では、実行可能領域が多面体になるので、それをx_tを中心とする楕円体で近似する。そして、楕円体の中で目的関数を最小にする方向にx_tを更新する。
というのがアフィンスケーリング法の原理だと思っています。
自分の中では、添付した図のような感じだと思っています。
参考文献では、(1)から楕円体の近似を行っていますが、なぜこの形になるのでしょうか?イメージが浮かびません。
目的:cTd → 最小
条件:Ad=0、dTGd=β^2
まず、dTGd=β^2 が楕円を表しているのでしょうか?
楕円の標準形は、
x^2 / a^2 + y^2 / b^2 = 1
のように表されますが、dTGd=β^2 が楕円になるのがどうもよく分かりません。
また、Ad=0という条件は、どういう意味なのでしょうか?
dが楕円曲線上にあるということでしょうか?
回答よろしくお願いします。

No.1ベストアンサー
- 回答日時:
図の理解は大変 good で,アルゴリズムはその図の通りに動作します.
ただ,普通はそれを「多面体を近似している」とは解釈せず,
単に「探索方向を楕円体上で決定する」と見ると思います.
(そのほうが一般的ですし,あんまり良い近似にもなっていないので)
さて,以下本題です.dT G d = β^2 が楕円体をあらわしていることは簡単で,
G は正定値対称行列なので,適当な直交行列 P を用いて
PT G P = diag(a1, ..., an) (a1, ..., an > 0)
と対角化することができます.x = P d と座標変換すれば
xT G x = a1 x1^2 + ... + an xn^2 = β^2
となって,スケーリングの仕方は違いますが,楕円体の標準形になっています.
次に A d = 0 の意味ですが,質問者さんの図を見れば分かるように,
「現在の実行可能解 x_t を d だけ進めた
新しいベクトル x_t + d もまた実行可能になってほしい」
ので,A d = 0 はそれを保証するための条件です.
同じことですが,x_t + d が多面体内にある,という条件です.
この回答への補足
回答ありがとうございました。
回答をみて、理解できました。
また、なぜ「アフィン変換」する必要があるのでしょうか?
アフィン変換は、スケーリング・回転することなのは知っていますが、そうする必要がある理由が分かりません。なにも変換しないと解けないのでしょうか?
補足回答お願いします。
No.3
- 回答日時:
No.2のコメントに対して:
なんか色々ダメです.
多分 No.1 で私が x という記号を使ったのが悪かったのですが,
No.1 の x は,現在居る点 x_t とは無関係の記号です.
アルゴリズムの動作はもっと単純で,
現在いる点 x において,正定値行列 G を x から作り,
min cT d
s.t. dT G d = 1, A d = 0
を解いて d を決定し,x を x + βd に置き換える.
という動作を繰り返すだけです.なので
> 現在いる点xにおいて、
> d = P・x によるアフィン変換で写像をする
は違います(アフィン変換を陽に構成することはありません)し,
> アフィン変換により、点から楕円体が形成される。
は,よくわかりません(点が楕円体を生成するとは?).
また,
> 一番長い方向(2次元なら長軸の長さ)を求め
も違います.目的関数が最も減る方向であり,
それが楕円の軸方向になるとは限りません.
なお,アフィンスケーリング法に「アフィンスケーリング」という
名前がついているのは,アルゴリズムの動作が
「アフィンスケーリングした空間で,球で探索する
アルゴリズムを実行しているのと実質的に同じ」
だからで,本当にアフィンスケーリングするわけではありません.
No.2
- 回答日時:
No.1のコメントに対して:
「アフィン変換する」というのは要するに「球でなく楕円体を使う」
ということなんですが,これをする必要性を理解するのは結構大変です.
結論だけ簡単に述べると
「球でやると毎ステップの移動距離が小さいけれど
楕円体でやると移動距離がそれなりに大きいから」
というのが理由です.
歴史的には,もともとアフィン変換しない(球を使う)方法がありました.
ただ,どうもそれだと収束性能に関して,うまい評価が出来ません.
(角のほうで球がどんどん小さくなり,前に進めなくなるイメージ).
そこで,球の変わりに楕円体を使う,というものを考えた人がいて,
それでやってみると,毎回それなりのステップ進む,ということがわかり,
なんと,大域的な収束性まで示せたりします.
ちなみにアフィンスケーリング法の詳細な解析は1990年~2000年にかけて行われており,
アフィンスケーリングの効果を理解するには,そのあたりの論文を読む必要があります
この回答への補足
※お礼の方で投稿してしまったので、補足のところに投稿しなおします。
確かに、球より楕円体のほうが効果的なのはイメージできました。
もし球でやるなら、条件の「dTGd=β^2」の部分を、球を表す標準形になるということですよね。
一応自分の理解が以下の通りで正しいのか確認したいので、今一度補足回答お願いします。
流れとしては、
現在いる点xにおいて、
d = P・x によるアフィン変換で写像をする。(回答No.1では、x = P・dとなっていましたが、d = P・xではないでしょうか?)
アフィン変換により、点から楕円体が形成される。
この楕円体を多面体の中に収まるように、楕円体の大きさβを調節しつつ、
一番長い方向(2次元なら長軸の長さ)を求め、移動する方向dとする。
あとはこれの繰り返しで最適解を発見する
ということでしょうか。
確かに、球より楕円体のほうが効果的なのはイメージできました。
もし球でやるなら、条件の「dTGd=β^2」の部分を、球を表す標準形になるということですよね。
一応自分の理解が以下の通りで正しいのか確認したいので、今一度補足回答お願いします。
流れとしては、
現在いる点xにおいて、
d = P・x によるアフィン変換で写像をする。(回答No.1では、x = P・dとなっていましたが、d = P・xではないでしょうか?)
アフィン変換により、点から楕円体が形成される。
この楕円体を多面体の中に収まるように、楕円体の大きさβを調節しつつ、
一番長い方向(2次元なら長軸の長さ)を求め、移動する方向dとする。
あとはこれの繰り返しで最適解を発見する
ということでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 どうして放物線ですか? 15 2023/06/11 09:53
- 数学 以前同じ質問をさせていただいたのですが、読み直しても理解できなかったので、再掲します。 写真は楕円の 12 2023/08/22 15:51
- 物理学 歌口と楕円形の太鼓 1 2023/05/15 23:21
- 物理学 相対性理論と円運動について。 1 2023/01/30 11:39
- 中古パソコン NEC LaVie Tab E PC-TE508BAW 1 2022/10/25 07:03
- Word(ワード) ワード。フリーフォームの使い方が分かりません。 1 2022/10/06 16:18
- 数学 写真は、楕円の方程式の導出が書かれたものですが、 赤線部で、「b>0とすると」と書かれていて黄線部に 6 2023/08/05 21:02
- スピーカー・コンポ・ステレオ ワード。オブジェクトの上に半円を描くには。 2 2022/10/06 13:02
- 爬虫類・両生類・昆虫 この虫はなんですか 2 2022/07/19 23:08
- 画像編集・動画編集・音楽編集 ワード。頂点の編集。 4 2022/09/28 14:14
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
5進法を10進法への直し方
-
16進小数0.Cを10進数小数に変換...
-
高速フーリエ変換 サンプリン...
-
偏微分の記号をタイプするため...
-
ヤコビアン(関数行列式)につ...
-
線形代数 直交行列 回転行列
-
基数変換の数学的説明
-
線形変換
-
形変換 アフィン変換
-
線形代数の問題です n次正方行...
-
不均一分散の回帰分析に適した...
-
楕円の重積分(2)
-
行列の問題です。教えてください。
-
アフィンスケーリング法について
-
50以下は“50”も入るのですか?
-
射影変換について
-
グレイコードの整数への変換方...
-
複素解析の問題です。
-
2階の偏導関数の問題
-
Excelにて、時間(8:30等)を数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
50以下は“50”も入るのですか?
-
16進小数0.Cを10進数小数に変換...
-
HEX2BIN関数の使い方。
-
5進法を10進法への直し方
-
偏微分の記号をタイプするため...
-
Excel 16進数
-
EXCELで10進数表記をB...
-
dBm/HzからdBm/MHzへの単位変換
-
「じじょう」が正しい読み方?
-
小学4年生の算数(小数)の問題で...
-
ヤコビアンが0になってしまう場...
-
小数点が混じった2進数を8進数...
-
Excelにて、時間(8:30等)を数...
-
dBm→dBμV/mの換算について
-
プログラミング第1級の問題で 1...
-
算数計算 大至急お願いします
-
数学の問題で
-
ACアダプターの消費電力の件
-
平行の記号
-
ヤコビアン(関数行列式)につ...
おすすめ情報