お客様: 電池メーカーの研究開発部門様
ご依頼内容
- 線形計画法を使って、蓄電池の運用条件を最適化したい。
- MATLABを使い始めたばかりで、制約条件をコードにする段階で行き詰まっている。
- 開発を任せきりにせず、自分たちで改良を続けられるよう、技術指導の形で支援してほしい。
課題
- SOC、充放電量、電池容量といった運用条件を、線形計画法の制約行列として表現すること。
- 非線形の項を含む劣化予測式を、線形最適化へ組み込める形に整理すること。
- 再帰的な処理として、1回目の最適化結果から次の制約を作り、運用ルールを満たす計画を求めること。
ソリューション
- 線形計画法のソルバーである、linprogを用いた運用計画のコードについて、等式・不等式制約と、初期値の組み方を説明した。
- お客様のご要望である、二次の項を含む劣化予測式を線形化した。
- 劣化度を目的関数へ組み込んで最適化する、実行モードを追加した。
- 1回目の結果から制約を作る、2段階の最適化を実装した。
- 月ごとの積算充電容量の制約と、年度単位の繰り返し計算を追加した。
- 条件を変えて再計算できるよう、入力の設定と、最適化結果の表示を分離した。
- 計算の内容は、Web会議と対面の打合せで、その都度説明した。


結果
- 条件を変えた再計算と、年度単位の繰り返し計算を、お客様側で実行できる状態になった。
- 約1年半にわたり、お客様が内製するシミュレーションコードを、継続して改良できる状態を保った。
- 動くコードと技術レクチャーを組み合わせて提供し、お客様側で改良を続けられる形にした。
ひとこと
- 最適化は、目的関数の作成も重要ですが、実際の運用ルールを制約条件へ落とす作業も、難しい場合があります。
- 「作ってもらうのではなく、自分たちで育てられるようにしたい」というご相談も承ります。コードを解説し、一緒に動かしながら、条件を一つずつ追加していきます。
お問い合わせ
開発事例にご興味ありましたら、お気軽にお問い合わせ下さい。
下記の、「今すぐお問い合わせ」をクリックして、フォームにご記入下さい。
早急に回答致します。


