メールマガジン・新着情報一覧
- TOP
- メールマガジン・新着情報一覧
- A-0119. 非線形計画法 — T.T
2021.02.10
A-0119. 非線形計画法 — T.T
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 非線形計画法 発行:エスオーエル株式会社 https://www.sol-j.co.jp/ 連載「X線CTで高精度寸法測定!?」 2021年2月10日号 VOL.119 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 先週のメルマガで「線形計画法」の話題が出ましたので、 「非線形計画法」について何か書いてみようという気分になりました。 線形計画法や非線形計画法は、数学の分野としては、 「最適化問題」という分類になります。 個人的に、最適化問題との思い出はいろいろあります。 印象的なのは、高校の数学で線形計画法を習ったときに、 全くつまらないと思ったことです。 文章問題として出てくる「工場の仕入れ計画」とか 「料理の材料買い出し」とか、全然興味が湧きませんでした。 高校生の頃は、微分方程式こそが数学という偏った志向もあり、 具体的な問題を解くことを軽視していた影響もあります。 立式、抽象化、構造の理解 こそが重要というバランスの悪い考えです。 今思うと、もったいない偏見です。 今では、最適化問題は、人類が取り組むべき重大課題の一つ と考えるに至っています。(これも極端な考えかもしれませんが。) そして、線形計画法だけに限定してみても、実に奥深い研究対象です。 思い返せば、これまでお世話になった指導教官の先生方のうち、 最も長くお付き合い頂いた先生が、最適化理論の専門家の先生でした。 私自身は、最適化が専門というわけではありませんが、 日々取り組む課題のほとんどが最適化問題と言っても過言ではありません。 最適化問題は、 x を多次元空間の元として、与えられた制約条件の下で、 目的関数 f(x) を最小化する解 x* を求めることです。 (最大化問題は、符号を逆にすることで、最小化問題に帰着できます。) そして、線形計画法は、目的関数も制約条件も線形(直線の関係式)の場合です。 式の中に(直線では表せない)非線形のものがあると、非線形計画法になります。 非線形計画法の典型例は、最小二乗法です。 実測データ (xi, yi) を直線 y=ax+b に当てはめたいという問題は、 点と直線の誤差の二乗和 f(a,b) = Σ(a xi + b - yi)^2 という関数を最小化する (a,b) という解を見つける 非線形計画問題に他ならないからです。 次に、X線CTのスキャン条件です。 ほぼ、非線形計画問題になります。 そもそも目的関数をどう取るかという難問があります。 X線CTの種々のアーチファクトやトレードオフがある中で、 ユーザーにとって理想的な都合の良い最適化問題を考えようものなら、 だいたいインフィージブル(実行不能)です。 最適化問題にとってフィージブル(実行可能)と インフィージブル(実行不能)は、とても重要な概念です。 目的関数値を最小にする実行可能解のことを最適解と言います。 最適解が存在しないのに、つまり最適値がないにも関わらず、 最適な条件パラメータを探すという行為は、時間の無駄です。 こういう時は、無闇にデータ取りをするのを止めて、 今、目的関数は何で、制約条件は何かと考えて立ち止まり、 何をしようとしているのかを明確にすることが肝心です。 非線形計画問題を解くのは、一般には(最適解があったとしても)困難です。 こういう時、知識の引き出しが多い程、有利です。 何らかの非線形計画問題を解いたことがあれば、問題の難しさも理解でき、 そもそも非線形計画問題として解く必要があるのかを考え直します。 目的関数を単一に固定せず、 目的関数の間の関係を調べることで、トレードオフを分析する 多目的最適化という手法もあります。 案外、目的関数や制約条件が技術的範疇の外にあるかもしれません。 固定観念があったり、狭い視野で考えたりしていると、 なかなか乗り越えられません。 X線CTが必要だと思っていたのに、 X線CTを使わないことが解ということもあり得ます。 -- 高野智暢