I have the following objective function:

\begin{equation} \min_{I_{i,v}} \ \sum^{N_v}_{v}\sum^{TT_v}_{i} \ C_{loss,cyc} \end{equation}

enter image description here

where $I_{i,v}$ is the only positive decision variable. $SOC_{init}$ is a function of $I_{i,v}$. $SOC_{init}$ is equivalent to $SOC_{avgi,v}$ given in the equality constraint below. Other variables are positive constants except a = -4.092*(10^-4), b = -2.167. c = 1.408*(10^-5), d = 6.130.

The plot of the objective function is shown below: y is $I_{i,v}$ and x is $SOC_{init}$. The objective function value, $ C_{loss,cyc}$ is z.

enter image description here

We are minimizing a concave objective (continuous surface).

The constraints are given below:

enter image description here

enter image description here


$ I_{max}, I_{c,max}, T^{dep}_{v},t_s, SOC^{dep}_{v}, SOC_{-1,v}, SOC_{xtra} $ are positive constants. please ignore $SOC_{devi,v}$, it is for state updating during optimization implementation. How can I know if these constraints are convex?

I am new to convex optimization. First off all, is this a convex optimization problem as there is only a single maximum point but we are minimizing this concave objective? or is it a non-convex optimization problem. I thought non-convex problems have local minimums/maximums.

What are the current algorithms that will search for a solution with an objective of this form with sum of exponentials that are functions of a first order term (and with first order term multiplying one exponential term) then all of that multiplying a first order term?

Should I read convex optimization book by Boyd and Vaderberghe to get a deep understanding of the problem? Or is there any online material I can read and get by. I already know the idea of piecewise polynomial functions. Should I read about quadratic programming? I have tried 2 pieces of 2nd order polynomials to estimate this surface in Gurobi but even then what algorithms or analytical techniques are used to find the minimum? But what if I want to keep it as accurate as possible by using this exact objective function? What are the analytical techniques then?

Basically, I want to have a algorithm/technique so that I know what is happening when the solution is found. Then I will be able to compare this theoretical solution and Gurobi output.

  • 1
    $\begingroup$ The formulation here is a bit of a mess. The last image contains three constraints whose left-hand sides do not appear to occur anywhere else in the model. It also appears that $SOC_{.,.}$ might have different meanings depending on the notation for the subscripts, which is giving me motion sickness. Is $SOC_{5,3}$ an instance of $SOC_{i,v}$ or $SOC_{avg_i,v}$ or $SOC_{dev_i,v}$? I think this needs to be cleaned up before anyone can provide a meaningful answer. $\endgroup$
    – prubin
    Feb 14, 2022 at 19:55
  • $\begingroup$ In the last image only $SOC_{avgi,v}$ is in the objective function equivalently as $SOC_{init}$. SOC is state of charge , it is a non−decreasing quantity that ranges between (0−1). i refers to timeslot number and v is vehicle number. $SOC_{devi,v}$ is a state update variable that is not part of the optimization, please ignore this. $SOC_{5,3}$ is an instance of $SOC_{i,v}$ not $SOC_{avgi,v}$ or $SOC_{devi,v}$ $\endgroup$ Feb 15, 2022 at 9:46
  • $\begingroup$ Hi @prubin , could you answer now? $\endgroup$ Feb 17, 2022 at 7:21
  • $\begingroup$ What is $TT_v$? It shows up on the right side of one equation but nowhere else. Is it a variable or a parameter. If parameter, then is there anything in that equation that is a model variable (and, if not, why is it listed as a constraint)? $\endgroup$
    – prubin
    Feb 17, 2022 at 19:06
  • $\begingroup$ $TT_v$ is total timeslots for vehicle v. It is the upper limit of the summation. Basically, we are calculating EV's battery capacity loss during charging which is split into different timeslots of length $TT_v$ for each vehicle, v for a total of $N_v$ vehicles. $\endgroup$ Feb 17, 2022 at 19:21

1 Answer 1


First, a note: strict inequality constraints are generally not tolerated in a math programming model. So your first constraint will be interpreted as $0 \le I_{i,v} \le I_{max}.$

As best I can tell (and assuming that the only variables are the $I_{i,v}$), your constraints are linear. However, this is not a convex optimization problem. The good news is that the feasible region is convex. The bad news is that you are minimizing what you say is a concave function. (I'll take you word regarding the concavity. The plot seems consistent with it.) To have a convex optimization problem, you would need either to minimize a convex objective or maximize a concave one.

If you search "minimization of concave function over convex set" you will find some references. I am not personally familiar with any of them, so I cannot make a recommendation.

  • $\begingroup$ Thank you @prubin. I will explore along this direction. :) $\endgroup$ Feb 17, 2022 at 21:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.