工場の製品を塗装するとき、自動塗装吹き付け機を使うことがあります。 機械が決まった動きをするため、色々なサイズのものを塗装すると一番大きいサイズにも対応する設定をして 塗料を無駄遣いするか、塗装しているものを変える際に設定を直して、時間の無駄が発生します。
改善方法の1つは、設定の組み合わせをいくつか保存して2,3桁の番号を入力することで、 ある製品を塗装するための設定を読み替えることも可能です。 ただし、製品のサイズがあまりにも多い時、番号が足りなく、塗料の無駄が発生します。 この無駄は完全に避けることはできなくても、最小限にすることができます。
このような、有効な値の中で最適な設定を決めたい時に使えるメソッドの1つは線型計画法(LP)です。 短く言うと、線型計画法はいくつかの線形不等式(変数と変数の掛け算がない不等式)の解の中で、 ある線形表現の最大・小値となる解を見つける方法です。 もっと詳しく知りたい人はウィキペディアに参考してください。
残念ながら線型計画法みたいな抽象的なテクニックは使い方が決まっていなくて最適化したい問題によって異なるため、 分かりづらいです。更にサンプルもあまりにも単純です。そのため、仕事の実例をあげます。
この実例では、まず背景を説明したうえ、問題をどう線型計画法の対象となるサブ問題に分けて、 それぞれのサブ問題をどう数式に変化したことを話します。 そのうえ、GoogleのOR-Toolsを利用した、 実際に書いたプログラムや最適化の効果も紹介します。
可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More可茂IT塾ではFlutterインターンを募集しています!可茂IT塾のエンジニアの判断で、一定以上のスキルをを習得した方には有給でのインターンも受け入れています。
Read More