[Ipopt] mu_target without the hessian of the lagrangian

Stefan Vigerske stefan at math.hu-berlin.de
Wed Jan 16 00:15:46 EST 2019


Hi,

I meant that I don't see where Ipopt would force mu_target to be 0 in 
the Ipopt code.

Using the limited-memory Hessian approximation changes the default for 
mu_strategy to adaptive. Maybe that strategy takes mu_target into 
account differently, though I don't see that it sets mu_target = 0.
If mu_strategy is adaptive, then option mu_oracle also plays a role.

And then there is also an option mu_min.

Stefan

On 1/15/19 2:01 PM, Pedro Borges wrote:
>   Hi!
> 
> Check the code below.
> 
> Should I consider this is a problem on the julia side?
> 
> using JuMP
> using Ipopt
> 
> ###############################################################
> 
> #=
> ipoptSolver = IpoptSolver(mu_target = 1.0)
> m = Model(solver=ipoptSolver)
> @variable(m, x >= 0)
> @NLobjective(m, :Min, x)
> solve(m)
> getvalue(x)
> =#
> 
> ###############################################################
> 
> #=
> ipoptSolver = IpoptSolver(mu_target = 1.0)
> m = Model(solver=ipoptSolver)
> @variable(m, x >= 0)
> JuMP.register(m, :my_objective, 1, (x) -> x, (x) -> 1.0, (x) -> 0.0)
> JuMP.setNLobjective(m, :Min, :(my_objective($(x…))))
> solve(m)
> getvalue(x)
> =#
> 
> ###############################################################
> 
> #=
> function val(x1, x2)
> return x1 + x2
> end
> 
> function grad(result, x1, x2)
> result[1] = 1.0
> result[2] = 1.0
> end
> 
> ipoptSolver = IpoptSolver(mu_target = 1.0)
> m = Model(solver=ipoptSolver)
> @variable(m, x[1:2] >= 0)
> JuMP.register(m, :my_objective, 2, val, grad, autodiff=false)
> JuMP.setNLobjective(m, :Min, :(my_objective($(x…))))
> solve(m)
> getvalue(x)
> =#
> 
> Em Ter, 15 de jan de 2019 12:17, Stefan Vigerske <stefan at math.hu-berlin.de>
> escreveu:
> 
>> Hi,
>>
>> I do not see where this is happening in the code.
>>
>> Stefan
>>
>> On 1/9/19 2:28 PM, Pedro Borges wrote:
>>> Hello guys!
>>>
>>> Is it possible to use mu_target != 0 without proving the hessian of the
>>> lagrangian?
>>> If I don't provide the hessian Ipopt sets mu_target = 0 against my will.
>>>
>>> Best,
>>>
>>>
>>> _______________________________________________
>>> Ipopt mailing list
>>> Ipopt at list.coin-or.org
>>> https://list.coin-or.org/mailman/listinfo/ipopt
>>>
>>
>>
> 



More information about the Ipopt mailing list