diff --git a/ext/JuMPModels/bioreactor.jl b/ext/JuMPModels/bioreactor.jl index 6af6d128..8054552e 100644 --- a/ext/JuMPModels/bioreactor.jl +++ b/ext/JuMPModels/bioreactor.jl @@ -132,7 +132,9 @@ function OptimalControlProblems.bioreactor( ) # objective - @objective(model, Max, 0.5 * Δt * sum(dc[k] + dc[k - 1] for k in 1:N)) + @objective(model, Min, -0.5 * Δt * sum(dc[k] + dc[k - 1] for k in 1:N)) return model end + + diff --git a/ext/JuMPModels/glider.jl b/ext/JuMPModels/glider.jl index 871f0545..164600a7 100644 --- a/ext/JuMPModels/glider.jl +++ b/ext/JuMPModels/glider.jl @@ -131,7 +131,7 @@ function OptimalControlProblems.glider( ) # objective - @objective(model, Max, x[N]) + @objective(model, Min, -x[N]) return model end diff --git a/ext/JuMPModels/insurance.jl b/ext/JuMPModels/insurance.jl index eaf82573..c73c7a28 100644 --- a/ext/JuMPModels/insurance.jl +++ b/ext/JuMPModels/insurance.jl @@ -148,7 +148,7 @@ function OptimalControlProblems.insurance( ) # objective - @objective(model, Max, 0.5 * Δt * sum(dc[i] + dc[i - 1] for i in 1:N)) + @objective(model, Min, -0.5 * Δt * sum(dc[i] + dc[i - 1] for i in 1:N)) return model end diff --git a/ext/JuMPModels/jackson.jl b/ext/JuMPModels/jackson.jl index f0e02b92..84966d6c 100644 --- a/ext/JuMPModels/jackson.jl +++ b/ext/JuMPModels/jackson.jl @@ -109,7 +109,7 @@ function OptimalControlProblems.jackson( ) # objective - @objective(model, Max, x₃[N]) + @objective(model, Min, -x₃[N]) return model end diff --git a/ext/JuMPModels/rocket.jl b/ext/JuMPModels/rocket.jl index 369ec84d..96a043d4 100644 --- a/ext/JuMPModels/rocket.jl +++ b/ext/JuMPModels/rocket.jl @@ -119,7 +119,7 @@ function OptimalControlProblems.rocket( ) # objective - @objective(model, Max, h[N]) + @objective(model, Min, -h[N]) return model end diff --git a/ext/JuMPModels/space_shuttle.jl b/ext/JuMPModels/space_shuttle.jl index a0d239b9..0479eebf 100644 --- a/ext/JuMPModels/space_shuttle.jl +++ b/ext/JuMPModels/space_shuttle.jl @@ -230,7 +230,7 @@ function OptimalControlProblems.space_shuttle( end ) - @objective(model, Max, θ[N]) + @objective(model, Min, -θ[N]) return model end diff --git a/ext/MetaData/steering.jl b/ext/MetaData/steering.jl index a86796a8..f5b11cab 100644 --- a/ext/MetaData/steering.jl +++ b/ext/MetaData/steering.jl @@ -14,4 +14,4 @@ steering_meta = OrderedDict( x₃_tf=45, x₄_tf=0, ), -) +) \ No newline at end of file diff --git a/ext/OptimalControlModels/bioreactor.jl b/ext/OptimalControlModels/bioreactor.jl index f2fdfe50..3f32d976 100644 --- a/ext/OptimalControlModels/bioreactor.jl +++ b/ext/OptimalControlModels/bioreactor.jl @@ -78,7 +78,7 @@ function OptimalControlProblems.bioreactor( (μ2 - u(t) * β) * b(t), ] - ∫(μ2 * b(t) / (β + c)) → max + -∫(μ2 * b(t) / (β + c)) → min end # METHANE PROBLEM diff --git a/ext/OptimalControlModels/glider.jl b/ext/OptimalControlModels/glider.jl index e74e18c2..d91059be 100644 --- a/ext/OptimalControlModels/glider.jl +++ b/ext/OptimalControlModels/glider.jl @@ -90,7 +90,7 @@ function OptimalControlProblems.glider( ż(t) == dynamics(x(t), vx(t), vy(t), cL(t)) # objective - x(tf) → max + -x(tf) → min end function dynamics(x, vx, vy, cL) diff --git a/ext/OptimalControlModels/insurance.jl b/ext/OptimalControlModels/insurance.jl index 29f70d3e..cde80d28 100644 --- a/ext/OptimalControlModels/insurance.jl +++ b/ext/OptimalControlModels/insurance.jl @@ -108,7 +108,7 @@ function OptimalControlProblems.insurance( ẋ(t) == [(1 - γ * (t - t0) * vprime / dUdR(t)) * h(t), h(t), (1 + σ) * I(t) * fx] # objective - ∫(U(t) * fx) → max + -∫(U(t) * fx) → min end # initial guess diff --git a/ext/OptimalControlModels/jackson.jl b/ext/OptimalControlModels/jackson.jl index 1f599dff..6b8225f3 100644 --- a/ext/OptimalControlModels/jackson.jl +++ b/ext/OptimalControlModels/jackson.jl @@ -71,7 +71,7 @@ function OptimalControlProblems.jackson( (1 - u(t)) * k3 * b(t), ] - x[3](tf) → max + -x[3](tf) → min end # initial guess diff --git a/ext/OptimalControlModels/rocket.jl b/ext/OptimalControlModels/rocket.jl index c3dda7fa..f98ac7c4 100644 --- a/ext/OptimalControlModels/rocket.jl +++ b/ext/OptimalControlModels/rocket.jl @@ -81,7 +81,7 @@ function OptimalControlProblems.rocket( ẋ(t) == dynamics(h(t), v(t), m(t), T(t)) # objective - h(tf) → max + -h(tf) → min end # dynamics diff --git a/ext/OptimalControlModels/space_shuttle.jl b/ext/OptimalControlModels/space_shuttle.jl index 3f02759a..2d6e6d25 100644 --- a/ext/OptimalControlModels/space_shuttle.jl +++ b/ext/OptimalControlModels/space_shuttle.jl @@ -139,7 +139,7 @@ function OptimalControlProblems.space_shuttle( ẋ(t) == dynamics(x(t), u(t)) # objective - θ(tf) → max + -θ(tf) → min end # dynamics diff --git a/ext/OptimalControlModels/steering.jl b/ext/OptimalControlModels/steering.jl index 36aeabff..fc52cbe0 100644 --- a/ext/OptimalControlModels/steering.jl +++ b/ext/OptimalControlModels/steering.jl @@ -99,4 +99,4 @@ function OptimalControlProblems.steering( ) return docp -end +end \ No newline at end of file diff --git a/ext/OptimalControlModels_s/glider_s.jl b/ext/OptimalControlModels_s/glider_s.jl index 07bc9329..59cd87e7 100644 --- a/ext/OptimalControlModels_s/glider_s.jl +++ b/ext/OptimalControlModels_s/glider_s.jl @@ -100,7 +100,7 @@ function OptimalControlProblems.glider_s( ∂(vy)(t) == (L * vx(t) - D * w) / (m * v) - g # objective - x(tf) → max + -x(tf) → min end # initial guess diff --git a/ext/OptimalControlModels_s/insurance_s.jl b/ext/OptimalControlModels_s/insurance_s.jl index 48d61edb..eba437c0 100644 --- a/ext/OptimalControlModels_s/insurance_s.jl +++ b/ext/OptimalControlModels_s/insurance_s.jl @@ -110,7 +110,7 @@ function OptimalControlProblems.insurance_s( ∂(x₃)(t) == (1 + σ) * I(t) * fx # objective - ∫(U(t) * fx) → max + -∫(U(t) * fx) → min end # initial guess diff --git a/ext/OptimalControlModels_s/jackson_s.jl b/ext/OptimalControlModels_s/jackson_s.jl index 31b0454c..b92adcaf 100644 --- a/ext/OptimalControlModels_s/jackson_s.jl +++ b/ext/OptimalControlModels_s/jackson_s.jl @@ -69,7 +69,7 @@ function OptimalControlProblems.jackson_s( ∂(x₂)(t) == u(t) * (k1 * a(t) - k2 * b(t)) - (1 - u(t)) * k3 * b(t) ∂(x₃)(t) == (1 - u(t)) * k3 * b(t) - x₃(tf) → max + -x₃(tf) → min end # initial guess diff --git a/ext/OptimalControlModels_s/rocket_s.jl b/ext/OptimalControlModels_s/rocket_s.jl index bf092dba..d2a339d3 100644 --- a/ext/OptimalControlModels_s/rocket_s.jl +++ b/ext/OptimalControlModels_s/rocket_s.jl @@ -85,7 +85,7 @@ function OptimalControlProblems.rocket_s( ∂(m)(t) == -T(t) / c # objective - h(tf) → max + -h(tf) → min end # initial guess diff --git a/ext/OptimalControlModels_s/space_shuttle_s.jl b/ext/OptimalControlModels_s/space_shuttle_s.jl index 2edf1ac6..f1469e0a 100644 --- a/ext/OptimalControlModels_s/space_shuttle_s.jl +++ b/ext/OptimalControlModels_s/space_shuttle_s.jl @@ -158,7 +158,7 @@ function OptimalControlProblems.space_shuttle_s( (v / (r * cos(θ(t)))) * cos(γ(t)) * sin(ψ(t)) * sin(θ(t)) # objective - θ(tf) → max + -θ(tf) → min end # initial guess: linear interpolation for h, v, gamma (NB. t0 = 0), constant for the rest diff --git a/ext/OptimalControlModels_s/steering_s.jl b/ext/OptimalControlModels_s/steering_s.jl index c78da787..f5e3018d 100644 --- a/ext/OptimalControlModels_s/steering_s.jl +++ b/ext/OptimalControlModels_s/steering_s.jl @@ -99,4 +99,4 @@ function OptimalControlProblems.steering_s( ) return docp -end +end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 2e41616b..84180e87 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -35,6 +35,7 @@ problems_to_exclude = [ :insurance, :robot, :space_shuttle, + :steering, ] list_of_problems = setdiff(list_of_problems, problems_to_exclude)