|
|
|
|
@ -218,7 +218,7 @@ function Ξ(
|
|
|
|
|
bellman_residuals = value((s,d)) - payoff_fn(s,d,a,econ_params) - econ_params.β*value((s′,d′))
|
|
|
|
|
maximization_condition = - payoff_fn(s,d,a,econ_params) - econ_params.β*value((s′,d′))
|
|
|
|
|
|
|
|
|
|
return bellman_residuals.^2 - maximization_condition
|
|
|
|
|
return sum([bellman_residuals.^2 maximization_condition])
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# ╔═╡ a20959be-65e4-4b69-9521-503bc59f0854
|
|
|
|
|
@ -229,18 +229,25 @@ end
|
|
|
|
|
|
|
|
|
|
# ╔═╡ dff642d9-ec5a-4fed-a059-6c07760a3a58
|
|
|
|
|
#loss function
|
|
|
|
|
loss(s,d) = Flux.mse(Ξ(s,d,bm,em,payoff1),0)
|
|
|
|
|
loss(s,d) = Ξ(s,d,bm,em,payoff1)
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 20c777b5-4295-4478-8f53-b18cd409c8ae
|
|
|
|
|
s1 = ones(N_constellations)
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 1d65707c-6333-4252-ace6-bad47146ba06
|
|
|
|
|
d1 = ones(N_debris)
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 43b99708-0052-4b78-886c-92ac2b532f29
|
|
|
|
|
Ξ(s1,d1,bm,em,payoff1)
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 39433c1a-c3ac-45b0-b1bf-ff2d42ca9cbb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 6bf8d29a-7990-4e91-86e6-d9894ed3db27
|
|
|
|
|
#optimizer
|
|
|
|
|
ADAM = Flux.Optimise.ADAM()
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 74f5fde3-0593-46fc-a688-f1db7ab28c64
|
|
|
|
|
for i in 1:10
|
|
|
|
|
#print loss under certain conditions
|
|
|
|
|
#loss(s1,d1)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for epoch in 1:200
|
|
|
|
|
#train the policy funciton
|
|
|
|
|
Flux.Optimise.train!(loss, params(policy), data, ADAM)
|
|
|
|
|
@ -250,7 +257,6 @@ for i in 1:10
|
|
|
|
|
#Train the value functions
|
|
|
|
|
Flux.Optimise.train!(loss, params(value), data, ADAM)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# ╔═╡ 02f3fe78-e7a7-453f-9ddf-acddf08d8676
|
|
|
|
|
begin
|
|
|
|
|
@ -849,6 +855,10 @@ uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
|
|
|
|
|
# ╠═41271ab4-1ec7-431f-9efb-0f7c3da2d8b4
|
|
|
|
|
# ╠═a20959be-65e4-4b69-9521-503bc59f0854
|
|
|
|
|
# ╠═dff642d9-ec5a-4fed-a059-6c07760a3a58
|
|
|
|
|
# ╠═20c777b5-4295-4478-8f53-b18cd409c8ae
|
|
|
|
|
# ╠═1d65707c-6333-4252-ace6-bad47146ba06
|
|
|
|
|
# ╠═43b99708-0052-4b78-886c-92ac2b532f29
|
|
|
|
|
# ╠═39433c1a-c3ac-45b0-b1bf-ff2d42ca9cbb
|
|
|
|
|
# ╠═6bf8d29a-7990-4e91-86e6-d9894ed3db27
|
|
|
|
|
# ╠═74f5fde3-0593-46fc-a688-f1db7ab28c64
|
|
|
|
|
# ╠═02f3fe78-e7a7-453f-9ddf-acddf08d8676
|
|
|
|
|
|