# List true values for our reference # let RC := 1.2170; # let theta1 := 0.0851; # Call solver and give it options # default options for SNOPT 6.2 option snopt_options $snopt_options 'iterations=50000 outlev=2 timing=1 '; # output level # Initial guesses set at trivial values; probably not good initial guess let {i in X} EV[i] := 0; let {i in 1..3} thetaProbs[i] := 1/3; # Solve command solve MPECZurcher; display _solve_time; # Output commands option display_round 6, display_width 20; # option display_width 120; # write the value function display EV; # Output commands option display_round 6, display_width 120; # option display_width 120; # write the structural parameters (remember beta was fixed) display beta, RC, thetaCost, thetaProbs, TransProb; # write errors in Bellman equations display Bellman_1toNminusM.body; display Bellman_LastM.body; display Bellman_N.body; display BellmanViola; # display M1, M2, M; # display {(xi, di) in S} sum{(xj, dj) in S} PI[xi, di, xj, dj] ; # display {(xi, di) in S, (xj, dj) in S: xi <= 30 && xj <= 30} PI[xi, di, xj, 0] + PI[xi, di, xj, 1] ; # display {(xi, di) in S, (xj, dj) in S: xi <= 30 && xj <= 30} PI[xi, di, xj, dj]; display ergoDist; display mx, md, mxx, mxd, mdd, mxxx, mxxd, mxdd, mddd; display MX, MD, MXX, MXD, MDD, MXXX, MXXD, MXDD, MDDD; # SeriCOVxx1, SeriCOVxd1, SeriCOVdd1, SeriCOVxx2, SeriCOVxd2, SeriCOVdd2;