Q: Are there built-in functions for solving sets of (linear) equations and optimization problems, finding a solution that satisfies certain strict inequalities (e.g., ), and non-strict inequalities (e.g., )?
A: Adam Strzebonski (email@example.com) answers.
The package Algebra`InequalitySolve` (or Experimental`CylindricalAlgebraicDecomposition`) provides functionality for solving systems of inequalities.
The function InequalityPlot, defined below, plots the two-dimensional region satisfying a set of polynomial inequalities in and with rational number coefficients.
InequalityPlot could be extended to handle algebraic inequalities with algebraic number coefficients, and to plot lower-dimensional parts of the solution set, by using Experimental`CylindricalAlgebraicDecomposition instead of Experimental`GenericCylindricalAlgebraicDecomposition, and extending the cylinderplot code to handle lower-dimensional cylinders.
The region defined by the polynomial inequalities can now be visualized.
For optimization problems you can use Experimental`Minimize` or Experimental`Infimum`. Here are a few examples.
Since the first inequality is strict, the infimum is not attained in the set of points satisfying the constraints.
The computation of Infimum may be significantly faster than the computation of Minimize, especially if all constraints are strict inequalities.
Here is a more complicated example.
We visualize this minimum value, displayed as a point in the following graphic, by superimposing an InequalityPlot of on a ContourPlot of over .
Converted by Mathematica May 8, 2000