数理最適化

オペレーションズ・リサーチ

ABCアルゴリズムの解説と実装【連続変数最適化】

今回は進化計算の一つであるABCアルゴリズムについて解説とその実装を書きます。 ABCアルゴリズムは連続変数最適化で有効とされている進化計算の一つです。 ABCは「Artificial Bee Colony: ABC」からきており、人工蜂コ...
オペレーションズ・リサーチ

遺伝的アルゴリズムの活用例

今回は遺伝的アルゴリズムの活用例について解説していきます。 遺伝的アルゴリズムというのは数理最適化理論の中に存在する最適化手法の中の一つの進化計算と言われる分野の手法の一つです。 生物の進化のようなアルゴリズムで変数を更新し、最適解を得るこ...
オペレーションズ・リサーチ

最急降下法をPythonで【原理から解説】

今回は最急降下法について解説します。 最急降下法は数理最適化において、非線形の無制約最適化問題を解く方法です。最近では機械学習の資格試験の問題で出題されたりするようですね。 なお数理最適化に関する枠組みに関してはこちらをご覧ください。 ●エ...
Excelソルバー

ソルバーをVBAで繰り返す【初期値を変えて複数解を自動探索】

今回はエクセルのソルバーをVBAで操作して、繰り返し処理でソルバーを繰り返し実行し、繰り返しごとに初期値を変えて複数解を自動探索するようにします。 最終的にはコマンドボタンと連携させて、ボタンを押したらソルバーが自動で起動して上記の処理を行...
Excelソルバー

エクセルソルバーで複数解を求める方法【初期値を変えるしかないです】

今回はエクセルのソルバーで複数解を求める方法の解説です。 基本的にエクセルのソルバーは一つの解が求まったら探索が終了するので、複数解を一度に出力することはできません。 エクセルのソルバーで複数解を求めるには初期点をいくつか試して、それぞれの...
Excelソルバー

エクセルソルバーと組み合わせ最適化問題【解法例と基礎知識】

今回はエクセルソルバーで組み合わせ最適化問題を解いてみます。 組み合わせ最適化問題は基本的に変数が離散変数になるので、求解が難しい問題となります。離散変数か連続変数かという最適化問題の分類については以下で網羅的に解説しました。 ●エクセルソ...
Excelソルバー

エクセルソルバーとは【使い方と数理最適化の基礎】

エクセルソルバーと聞いて「難しい」と感じたことはありませんか? エクセルのソルバーは目的を設定すれば条件に合うパラメーターを求めてくれる便利な機能です。 しかしその基礎となっているのはOR(オペレーションズ・リサーチ)という分野の数理最適化...
オペレーションズ・リサーチ

Pythonで遺伝的アルゴリズム

はじめに 前回は遺伝的アルゴリズムについてザックリ説明しました。 今回は実際にプログラムを書きます。 とはいえ、いきなり全部のプログラムを載せて、ハイ終わりとするのはあまりにも丸投げなので、パーツごとにプログラムを作っていって、最後にまとめ...
オペレーションズ・リサーチ

遺伝的アルゴリズム(GA)入門

はじめに このブログではエクセルソルバーとか、オペレーションズ・リサーチとかを扱ってきました。 ご訪問いただく方々の中には数理最適化にご興味のあるかたもいらっしゃるかと思います。 そこで最適化手法の中の「進化計算」、その中でも基本となる 「...
Python

偏微分を数値計算で求めたい

今回は数値微分の話です。 偏微分を数値で計算することが必要な場面は日常ではあまりないのですが、常微分を数値計算したことがあったので、偏微分はどうなんだろ? ということで計算してみました。 簡単な関数で考えます。 f(x,y) = x^2+y...