Free Trial

ウィークリーチャレンジリポジトリ

トップになるためのスキルをお持ちですか? ウィークリーチャレンジを購読しましょう。ベストを尽くして問題を解決し、解決策を共有して、他のユーザーがどのように同じ問題に取り組んだのか確認しましょう。私たちも解答例を共有しています。

チャレンジ #62: フラワーアレンジメントの最適化

gawa
16 - Nebula
16 - Nebula

できました!数理最適もできるなんて、すごいですね。仕事で何か使えそうです

スポイラ
gawa_0-1635083188835.png

 

ntakeda
ボリード

Wikipediaのナップザック問題を読むとやりたいことはわかりましたが、

結局ツールの使い方がわかりませんでした。

このようなツールがあることが分かっただけでもよかったです。

スポイラ
ntakeda_0-1652430428337.png

 

Yoshiro_Fujimori
オーロラ

回答します。

 

今回はほとんどの時間が数理最適化問題の理解に使われましたが、とても勉強になりました。

Tool Mastery | Optimization に書いてある通り、目的関数と制約条件を整理してからワークフローを作るのが大事みたいですね。

 

スポイラ
Yoshiro_Fujimori_0-1664352045659.png

Maximize
    totalFlowers: F1 + F2 + F3 + F4 + F5 + F6 + F7 + F8
Subject to
    Budget: 2.30 F1 + 2.25 F2 + 2.53 F3 + 2.45 F4 + 2.17 F5 + 2.15 F6 + 2.50 F7 + 2.10 F8 <= 950
    40 <= F1 <= 80
    40 <= F2 <= 80
    40 <= F3 <= 80
    40 <= F4 <= 80
    40 <= F5 <= 80
    40 <= F6 <= 80
    40 <= F7 <= 80
    30 <= F8 <= 40
Integers
    F1 F2 F3 F4 F5 F6 F7 F8
End

 

Tokimatsu
クエーサー

勉強しました。

スポイラ
最適化ツールは何度か試してますが、毎回勉強しないと使えません。

とはいえ、今回は条件式でスタックしました。10パターン必要で各パターンに花は7種類しか使わない、パターンごとにそれぞれの花の上限がある、10パターン全部の予算は950ドル、と考えたのが敗因でした。どのパターンでどの花を使わないかわからないので下限の設定で悩んでましたし、各パターンで花を7種類しか使わないという定義をどうするかで、悩んでました。

もっとシンプルでよかったようです。

スクリーンショット 2023-08-22 185655.png
KosukeUchihashi
アステロイド

私の回答です。