前提・実現したいこと
2資産ポートフォリオを組んでその比率を変えて最小標準偏差を求める最小化問題をPuLPで行おうとしています。
発生している問題・エラーメッセージ
分散を最小化する式に累乗が出てきますが変数を掛け合わせることはできないと言われてしまいます
エラーメッセージTypeError: Non-constant expressions cannot be multiplied
該当のソースコード
m+=wawa0.150.15+2wawb0.1+wawa0.3*0.3
Python3
1from pulp import * 2m = LpProblem(sense=LpMinimize) 3wa= LpVariable('wa', 0,1,'Continuous') 4wb= LpVariable('wb', 0,1,'Continuous') 5m+=wa*wa*0.15*0.15+2*wa*wb*0.1+wb*wb*0.3*0.3 6m+=wa+wb=1 7m.solve() 8print(value(wa),value(wb))
試したこと
べき乗を表現する演算子、関数を試しましたが効果はありませんでした。
最適化するパラメータの累乗がある場合、線形計画問題でなくなってしまいますから、pulp は使えないのではないでしょうか。
エラーメッセージはそのことを言っています。
回答1件
あなたの回答
tips
プレビュー