0

私には、この難しい問題の解決策を見つけることを含む仕事があります。

ここの顧客は、日次、月次、四半期、または年次のいずれかの金額で製品割り当てを購入できます。各ステップには乗数が関連付けられており、最長の割り当てを予約するように人々にインセンティブを与えます。たとえば、1日=単価の1.5倍、四半期= 1.3、月=1.2などです。

これは問題ありませんでしたが、今では、月ごとの解像度まで、ステップごとに異なる乗数(つまり、1か月目= 1.5、2か月目= 1.2、3か月目= 1.4など)があるかどうかを確認したいと考えています。

この場合、基本ケースは年= 1、日= 1.5で、月次と四半期の乗数が間に設定されます。

私の仕事は、需要プロファイルに従って請求額を最小限に抑えるために、各ステップを完全に最適化することです(バイヤーが行うことをシミュレートしています)。

したがって、要約すると、購入者が需要プロファイルを満たしながら取得できる最低価格を見つける必要があります。

これは、私が使用している種類の需要チャートの例です。各年の区分は、乗数が1に等しい場合に示されています(基本ケース)。 画像

このために、VBA、Python、PHP、またはCのいずれかを使用しています。できればVBA(仕事が欲しいもの)またはPHP(私が欲しいもの)ですが、いずれにせよ、それは私が得られない一般的なケースです。どうすればこの価格の最適化に取り掛かることができますか?それは文字通りすべてのケースをシミュレートするケースでしょうか?(そのうち131,071 [年は12か月、4シーズン、1年+12か月+4シーズン+1日乗数=18、2 ^ 18 = 262144に分割され、いずれの場合も日数とマイナスを購入するため、2で除算されます。 nullの場合は1])。

少しでも助けてくれる人に感謝します!

4

1 に答える 1

0

これは、パッケージング問題やナップサック問題に似ていますか?http://en.wikipedia.org/wiki/Packing_problemおよびhttp://en.wikipedia.org/wiki/Knapsack_problem

毎月をパッケージサイズと見なすと、総需要に最も適したものになります。最初のパッケージフィッティングを1年間、次に5か月間、次に4か月間など、ひねりを加えただけです。これらのアルゴリズムは、自然のような強引な力を考慮しても驚くほど高速であり、必要に応じて複数のプロセッサに分解することもできます。(申し訳ありませんが、これは単なるコメントではありません。まだコメントできないか、方法がわかりません。)(もっと考えてみると、おそらくFFTもここで使用できるかもしれませんが、私はその専門家ではありません)

于 2013-02-26T18:51:48.057 に答える