@@ -32,10 +32,10 @@ p(x=>1, y=>0), p(x=>1//2, y=>1//2), p(x=>0, y=>1)
3232
3333import Ipopt
3434model = Model (Ipopt. Optimizer)
35- @variable (model, a >= 0 )
36- @variable (model, b >= 0 )
35+ @variable (model, 0 <= a )
36+ @variable (model, 0 <= b )
3737@constraint (model, a + b >= 1 )
38- @NLobjective (model, Min, a^ 3 - a^ 2 + 2 a* b - b^ 2 + b^ 3 )
38+ @objective (model, Min, a^ 3 - a^ 2 + 2 a* b - b^ 2 + b^ 3 )
3939optimize! (model)
4040
4141# As we can see below, the termination status is `LOCALLY_SOLVED` and not of `OPTIMAL`
@@ -95,7 +95,7 @@ value(a), value(b)
9595
9696# ## QCQP approach
9797
98- import Alpine, HiGHS, Pavito
98+ import Alpine, HiGHS, Ipopt, Pavito
9999ipopt = optimizer_with_attributes (
100100 Ipopt. Optimizer,
101101 MOI. Silent () => true ,
@@ -120,9 +120,16 @@ alpine = optimizer_with_attributes(
120120 " mip_solver" => pavito,
121121)
122122set_optimizer (model, () -> PolyJuMP. QCQP. Optimizer (alpine))
123- @NLobjective (model, Min, a^ 3 - a^ 2 + 2 a* b - b^ 2 + b^ 3 )
124123optimize! (model)
125124
125+ # We can see the summary here:
126+
127+ solution_summary (m)
128+
129+ # It found the optimal solution
130+
131+ value (a), value (b)
132+
126133# ## Sum-of-Squares approach
127134
128135# We will now see how to find the optimal solution using Sum of Squares Programming.
0 commit comments