I try to solve “norm>= constant” and ı found a solution for my problem, but ı couldn’t implement it. Because there are lots of if statement and these if statements contain variable. Could you help me about how to implement the optization problem given below.(R is constant and A1,A2,A3 and A4 defined as a convex area)
You will need to formulate using Big M. See my post at What is possible way to incorporate if-else inside CVX . It will get somewhat messy given the complexity of your problem. Even then, your formulation will only be an approximation to what apparent;y is your actual desired feasible region. Therefore, you may be better of using a non-convex global optimization solver which can solve the problem you really want to solve.
You can try BMIBNB, combined with a local nonlinear solver you have access to, under YALMIP https://yalmip.github.io/solver/bmibnb/ and https://yalmip.github.io/tutorial/globaloptimization/ . Alternatively, I think you might be able to do this with Gurobi 9.0, which (attempts to) finds global optimum of non-convex quadratic constraints in objective function and/or constraints. That non-convex Gurobi capability can be directly called in MATLAB or via AMPL.
Update: YAKMIP can now utilize Gurobi 9.0’s ability to (attempt to) solve problems having non-convex quadratic objective and/or constraints to global optimality. However to do so, you must currently use YALMIP’s develop version, which can be downloaded at https://github.com/yalmip/YALMIP/archive/develop.zip . Any questions on using YALMIP should be asked at https://groups.google.com/forum/?fromgroups#!forum/yalmip . I presume this capability will go into the next (mainline) release of YALMIP, whenever that winds up being.