For example:(6-z)(x1+x2+x3)<40. z is a positive integer variable.x1,x2 and x3 are all real variables. Then how can I judge that whether the function is convex or non-convex.
how to judge that the function is non-convex or convex
950 Views Asked by mathnoob At
1
There are 1 best solutions below
Related Questions in CONVEX-OPTIMIZATION
- Convex Optimization implementation in C++
- Generalized Dantzig Selector
- DCP Rule Error in the Optimization Problem
- Trying to understand why my formulation is non-convex? (gurobipy.GurobiError: Q matrix is not positive semi-definite (PSD))
- change minimize weighted sum of absolute value into a linear optimization
- Prove the Convexity
- Operations that Preserve Convexity
- "cvxpy" library: how to perform convex optimization for real and imaginary part of variable simultaneously - python
- CVXPY finds no solution (unbounded) to a problem that definitely has a solution - how to debug
- DCPError: Problem does not follow DCP rules - TV minimization using CVXPY library
- how to provide constraint for convex problem in python
- Does a unique solution exist for optimizing the cross entropy in binary logistic regression problem?
- Parameter Meaning of CVXOPT solvers. Options['show_progress']
- How to figure out cause of SolverError in CVXPY using Gurobi
- Understanding convergence proof (Momentum algorithm)
Related Questions in NON-CONVEX
- Has the Convergence of Mini-Batch SGD on L-Smooth Non-Convex Functions Been Studied?
- Wrong convergence of a complex MINLP
- SDP Problem: No Correct Solutions Obtained using cvxpy in Python
- What is the best way to store multiple sets 2D coordinates (R2 x n) in sorted format in python?
- Problem with constraint tolerance when using MPCC formulation in GEKKO
- My largest bound violation is CPLEX showing in e^6 range. What does it indicates? But the solutions are within my expectations
- Solving optimization with norm constraints (non-convex QCQP)
- How to address Non Convex optimization in deep learning?
- How to set NonConvex = 2 in Gurobi in R?
- Algorithm for convex hull of overlapping rectangles
- Python packages for multi-objective optimization using Successive Quadratic Programming (SQP)
- Python package for implementing branch-and-bound technique for solving a non-convex non-linear integer multi-objective optimization problem?
- does CPLEX really bound the global solution of a nonconvex MIQP?
- how to convert or transform a norm square equation to a concave form?
- Non-convex optimization with linear constraints
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is actually a more complicated question than one would expect.
This is not a function but a constraint.
A constraint should never have a < but rather a <=.
One definition of a convex constraint
f(x) <= cis thatf(lambda*x1+(1-lambda)*x2) <= lambda*f(x1)+(1-lambda)*f(x2)for allx1,x2,0<lambda<1. (Strict convexity requires < instead of <=)Often easier is to prove that the matrix of second derivatives (the Hessian) is symmetric and positive-semi definite, for all x.
For quadratic constraints, like in your example, form the constraint
x'Qx + a'x <= c(this is just a different notation) and proveQis positive-semi definite. E.g. by looking at the eigenvalues.Another way is to try to solve the problem using CVXPY. It will complain if the problem is not convex.
If the model converges to different solutions (with different objective values) depending on the starting point, the problem is non-convex.
Another heuristic I often use: throw into global solver such as Baron, and inspect the log and see if it does any branching. If it does, the problem is non-convex.
For quadratic problems: throw it at Cplex or Gurobi and see if it complains about non-convexity. Gurobi has an option to solve non-convex quadratic problems (but it requires setting an option).
For some problem classes we know whether the problem is convex or not (be familiar with the literature on this).
Constraints with integer variables are convex if the relaxation is convex (i.e. ignore the integer restrictions).
Constraints with integer/binary variables can often be reformulated into a set of linear inequalities.