How does the Surrogateopt function consider nonlinear integer constraints?

2 views (last 30 days)
Hi, I have a problem similar to unit commitment and my functions and constraints are shown below:
Pgrid, Pgen, and Pupsdesarj mean that power supplied to the data center from grid, generators and UPS, respectively.Usarj and Udesarj are integer values that vary from 0 to 1 in order to indicate charge or discharge status. I have solved this problem without u(t) variables but I have to add u(t) to prevent charge and discharge at the same time. So, I used surrogateopt and ga but it doesn't work.
When I examine the result, I saw that surrogateopt didn't take into account my nonlinear inequality constraints. UPS is being charged and discharged at the same time. It is expected to be prevented with my nonlinear inequality constraints.
I think the problem is defining upper bounds for the Psarj and Pdesarj in addition to the nonlinear inequality constraints. Normally, I didn't have LB and UB for these variables but surrogateopt requires it. Also, I tried it with ga without UB or LB, ga couldn't find a feasible result.
Any suggestions on how to solve the problem?

Accepted Answer

Alan Weiss
Alan Weiss on 10 Feb 2022
Your "nonlinear" inequality constraints are, in fact, linear inequality constraints. I suggest that you express them as linear constraints.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Mehmet Türker TAKCI
Mehmet Türker TAKCI on 10 Feb 2022
Thanks for your help. It worked. I didn't realize my "nonlinear" inequalities are not nonlinear:)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by