Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- T = 100; p = 1.; δ = 0.05127; ρ = 1./(1. + δ); c = 50.; R0 = 1.;
- obj[qlist_ /; VectorQ[qlist, NumericQ]] :=
- Module[{Rlist, obj},
- Rlist = FoldList[(#1 - #2) &, R0, qlist];
- If[Min[Rlist] < 0, Return[-1000]]; (* Constraint to keep R>=0 *)
- (* This is the objective function *)
- Sum[ρ^t*(p*qlist[[t + 1]] -
- 0.5 c ((qlist[[t + 1]])^2)/Rlist[[t + 1]]), {t, 0, T - 1}]
- ]
- choicevar = Table[Unique[q], {i, 0, T - 1}];
- sol = NMaximize[Prepend[Thread[0 <= choicevar], obj[choicevar]],
- choicevar];
- sol[[1]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement