2

ソルバーで取り組もうとしている最適化問題があります。特に、決定変数の 1 つは、日付を含むセルです。時系列に基づいて、ソルバーは最適な時点を選択する必要があります。ただし、他の決定セルは変更されますが、この決定セルは変更されません。私は他の決定変数を削除しようとしました(それらを一定に保ちます)-それでも変化はありません。

私の問題を解決するのに役立つように、株価の時系列から Solver が最高値の日付を選択する単純化された問題を含む Excel シート (ここ:ダウンロード リンク) を作成して添付しました。(この特定の問題は MAX 式で簡単に解決できることは承知していますが、実際の最適化の問題ははるかに複雑であり、この解決策を使用することはできません。)

この非常に単純化された設定でも、ソルバーは最初の日付値で何も変更しません!

数学的な観点から、現在の問題は (非線形の) ステップ関数として特徴付けることができます。ここで、特定の時点 (x 軸上) は異なる価格 (ステップ、y 軸上) に対応します。

ソルバーに時間 (日付) 値を処理させるために必要なトリックはありますか? 運が良ければ、適切なソルバー設定のセットを見つけて、正しいソリューション (2009 年 1 月 10 日) に到達することができれば、喜んでお知らせします。

編集:滑らかでない不連続関数(基本的には階段関数であるこの問題のような)による非線形問題は、一般に、(非線形)線形オプティマイザーで取り組むのが難しいことがわかりました。この問題に精通した誰かが、解決可能な方法で問題を再定式化するのを手伝ってくれますか? 提案された解決策を含むスタック オーバーフローに関する同様のトピックを見つけましたが(最初の回答を参照)、それを私の問題に適用する方法がわかりません。

ありがとう、スティーブ

4

1 に答える 1

1

制約 $C$7 >= $C$13 を追加し、進化的方法を使用して、スプレッドシートを Excel 2010 で解決するようにしました。おそらく、あなたが言及した数学の方法を理解することができますが、ソルバーダイアログの代わりに VBA で行う必要があるかもしれません。

于 2011-04-07T21:57:21.893 に答える