#245 重量単価の最適化の方法について
前回の投稿では、初期重量単価における生産量・廃棄物量の統計値と計算値の乖離度合いについて視覚化、定量化を実行しました。
今回の投稿から、生産量・廃棄物量の計算値と統計値との差を最小化することによって、重量単価の最適化を行っていきます。
最小化する指標
本研究では、荒川ら(2010)に則り、次式に示すScoreを最小化する指標として用いました。
$$
Score = \sqrt{\frac{1}{N}\sum_{j=品目}\left(\frac{S_j - f_S(g)}{S_j}\right)^2} + \sqrt{\frac{1}{N}\sum_j\left(\frac{H_j - f_H(g)}{H_j}\right)^2}
$$
ここで N は、生産量・廃棄物量の統計値が得られている品目の数、S、H はその量、g は重量単価、f は産業連関表から生産量・廃棄物量を求める関数である。これらの式によって計算される Score の値を最小化することによって、統計資料に矛盾しない妥当な重量単価を求める事が可能である。
荒川ら(2010)より引用。
制約条件
また、制約条件について、橘ら(2012)は以下のように言及しています。
ただし,最適化計算によって,重量単価の値が初期重量単価から大きく乖離することは好ましくないため,下式に示す制約を課した。
$$
変化率下限_j \leq log10 \left({\frac{重量単価_j}{初期重量単価_j}}\right) \leq 変化率上限_j
$$
変化率下限および変化率上限は,品目ごとに設定される閾値である。本研究においては,初期重量単価の信頼性や妥当性を考慮し,0 から± 0.7 程度の数値を設定した。これにより,重量単価の変動は,最大でも 0.2(≒ 10の-0.7乗)倍から 5(≒ 10の0.7乗)倍程度に制限される。多くの場合,変化率下限 = -変化率上限としたが,必ずしもその必要はなく,品目の性質に合わせて設定することが可能である。
橘ら(2012)より引用
今回の投稿では、品目ごとに閾値を検討することはせず、すべての品目において、変化率加減iを-0.7に、変化率上限iを+0.7に設定しました。品目ごとに設定される閾値については後ほど検討する予定です。
なお,最適化計算を行うプログラムはPythonを用いて作成し,最適化計算においてはモデル構築にpyomoパッケージを、ソルバーにipoptを使用しました。
“#245 重量単価の最適化の方法について” に対して1件のコメントがあります。