Why do we need solvers , if we can solve model with : optimize!(model_name) ?

How **optimize!** works?

What solvers actually does ?

What if we don’t define solvers?

How **optimize!** works?

What solvers actually does ?

What if we don’t define solvers?