# Can't solve a problem with nonlinear terms like x^0.7 or x^3 using JuMP with Gurobi 11

**URL:** <https://discourse.julialang.org/t/cant-solve-a-problem-with-nonlinear-terms-like-x-0-7-or-x-3-using-jump-with-gurobi-11/106896>\
**Category:** Optimization (Mathematical)\
**Tags:** question, gurobi\
**Created:** [November 29, 2023, 11:05am UTC](https://discourse.julialang.org/t/cant-solve-a-problem-with-nonlinear-terms-like-x-0-7-or-x-3-using-jump-with-gurobi-11/106896 "2023-11-29T11:05:50Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![odow](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/odow/32/28685_2.png) [@odow](https://discourse.julialang.org/u/odow)\
**Post date:** [November 29, 2023, 7:09pm UTC](https://discourse.julialang.org/t/cant-solve-a-problem-with-nonlinear-terms-like-x-0-7-or-x-3-using-jump-with-gurobi-11/106896/8 "2023-11-29T19:09:59Z")

</div>

The nonlinear support in Gurobi 11 is still very limited. You need to use the C API (I haven’t tested this, but it should work):

```julia
using JuMP, Gurobi
model = direct_model(Gurobi.Optimizer())
start = [23.564546, 33.235712480000004]
@variable(model, 0 <= x[i in 1:2] <= 40, start = start[i])
@variable(model, y[1:2])
column(x::VariableRef) = Gurobi.c_column(backend(owner_model(x)), index(x))
GRBaddgenconstrPow(backend(model), "x1^0.7", column(x[1]), column(y[1]), 0.7, "")
GRBaddgenconstrPow(backend(model), "x2^3", column(x[2]), column(y[2]), 3.0, "")
@objective(model, Min, y[1] + y[2])
optimize!(model)

```

A future version of Gurobi will introduce a first-class nonlinear API that we can connect to the nonlinear JuMP interface.

---

_[View the full topic](https://discourse.julialang.org/t/cant-solve-a-problem-with-nonlinear-terms-like-x-0-7-or-x-3-using-jump-with-gurobi-11/106896)._
