VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

The Gold Standard of Geometric Programming

Geometric programming is a method for optimising positive quantities whose costs and constraints can be expressed using particular sums of power laws. Its central move is to replace each positive variable by its logarithm, revealing a convex problem. The gold standard is to justify that transformation, solve the stated model, and check the returned decision in its original units and constraints.

This guide shows how to recognise that structure, calculate several complete examples, and distinguish a mathematical optimum from a practical recommendation. All numerical design and allocation cases below are invented teaching models. They assume continuous positive decisions and explicitly stated relationships; they are not measured performance claims about equipment, organisations or people.

The Gold Standard master connects this subject to the wider collection. The Education parent explains why understanding must survive a changed question, while the How X Works hub provides routes into mechanisms across disciplines.

CHAPTER 1 OF 14 · Recognise the model

1. Start with the decision and its positive domain

Back to contents

Imagine choosing two positive design settings, x and y. Increasing either setting costs resources, but their product must reach a required level. The teaching problem is to minimise x+y subject to xy≥16. A choice of x=4 and y=4 costs 8 and meets the product requirement. A choice of x=2 and y=8 also meets it, but costs 10. The question is whether any permitted pair costs less than 8.

The variables here are dimensionless settings measured relative to fixed reference values. They can vary continuously, and neither may be zero. Those assumptions matter before any calculus begins. If x counts whole machines, or if a machine can be switched off, a continuous positive model needs additional interpretation. A solver cannot decide whether the variable definition matches the actual decision.

Geometric programming, abbreviated GP, is especially useful when multiplication, division and powers describe these relationships. The word “programming” means mathematical optimisation. It does not require the problem to involve computer programs. The word “geometric” also does not mean that every problem about shapes qualifies. Classification depends on the equations and inequality directions.

Write a small model card

For our example, the model card says: x and y are positive settings; cost is their unweighted sum; acceptable performance requires their product to be at least 16; there are no other restrictions. The model excludes setup charges, discrete settings, uncertainty and any maximum capacity. These are scope statements that let another reader reproduce the calculation.

A useful first check is to produce one feasible point and one infeasible point. The pair (4,4) is feasible; (3,3) is not, because 9<16. This catches a reversed inequality immediately. Writing xy≤16 would permit both settings to approach zero, producing a completely different optimisation problem.

Keep the model card beside the result. Later chapters change a capacity and a performance requirement. The original answer will then need revision even though the method remains valid. That is the practical reason to learn the relationships rather than remember the pair (4,4).

Contents · Next chapter

CHAPTER 2 OF 14 · Recognise the model

2. Recognise monomials and posynomials precisely

Back to contents

In GP, a monomial has the form c times a product of powers of positive variables: c x₁^a₁ … xₙ^aₙ. The coefficient c is positive and the exponents are fixed real numbers. A posynomial is a finite sum of these monomials. This terminology differs from ordinary polynomial algebra, where negative or fractional powers would generally be excluded. The definitions and standard formulation are developed in Boyd, Kim, Vandenberghe and Hassibi’s GP tutorial.

For practice, consider m(x,y)=5x²/y³. Its coefficient is 5, its exponents are 2 and −3, and it has one term. It is a GP monomial. The expression p(x,y)=5x²/y³+2√x is a posynomial with two terms. Both remain positive for every positive x and y, so their logarithms are meaningful.

Now inspect 5x²/y³−2√x. The negative coefficient breaks the posynomial description, even at points where the total happens to be positive. Positivity of a function value is not the same as a representation with positive coefficients. A model checker needs structural information that holds throughout the declared domain.

Simplify before classifying

An expression written as x−x+3y simplifies to 3y, which is a monomial. Conversely, writing a complicated expression in a compact symbol does not make its structure acceptable. Always expand the definition of a named cost or performance function before deciding which modelling rules it satisfies.

Products and ratios deserve the same care. Multiplying 2x/y by 3y² gives 6xy, another monomial. Dividing x+y by xy gives 1/y+1/x, a posynomial. Dividing 1 by x+y does not produce a standard posynomial merely because its denominator is positive. Different operations preserve different function classes.

A quick recognition exercise is to classify 7, x^0.4/y, x+y+xy, and x−y. The first two are monomials; the third is a posynomial; the last is not generally a posynomial. The constant 7 qualifies because all its variable exponents can be zero. The exercise tests the sign of coefficients and the form of operations, not how familiar the notation looks.

Previous chapter · Contents · Next chapter

CHAPTER 3 OF 14 · Recognise the model

3. Put each constraint in the permitted direction

Back to contents

A standard GP minimises a posynomial, subject to posynomial inequalities fᵢ(x)≤1 and monomial equalities gⱼ(x)=1, with all variables positive. A constraint comparing a posynomial with a monomial can be normalised by dividing by that positive monomial. The CVX geometric-programming guide describes the corresponding expression and constraint rules, including its more general supported forms.

Our product requirement xy≥16 becomes 16/(xy)≤1. The numerator 16 is positive, so the left side is a monomial and therefore also a posynomial. A resource ceiling x+y≤10 becomes x/10+y/10≤1. An upper bound x≤3 becomes x/3≤1, while a lower bound x≥2 becomes 2/x≤1. Both kinds of bounds fit.

A ratio equality x/y²=1 is also allowed. Taking logs will turn it into a linear relationship. By contrast, x+y=10 is not a standard GP equality: its left side contains a sum. Replacing it by x+y≤10 changes the feasible set. That replacement can be justified only when an argument shows that the optimum uses the whole budget, or when the inequality is the intended requirement.

A subtraction can sometimes be moved

Suppose the physical requirement is x−y≥2 for positive x,y. Rewriting it as y+2≤x gives y/x+2/x≤1, which is a valid GP constraint. The original appearance of subtraction was not decisive; the equivalent normalised statement exposed the structure.

Now compare x+y≥10. Moving terms around does not automatically yield a posynomial upper bound. In log coordinates it imposes a lower bound on a convex log-sum-exp expression, which is generally nonconvex. The direction of the inequality is part of the mathematics, not a formatting preference.

For every rewritten line, check equivalence with a numerical pair. Try a point comfortably inside the original feasible set, one outside it, and a boundary point. Then check the algebra symbolically. Numerical checks can expose a mistake quickly, but three matching points do not prove that two constraints are equivalent everywhere.

Previous chapter · Contents · Next chapter

CHAPTER 4 OF 14 · Transform and certify

4. Follow the logarithmic transformation without losing terms

Back to contents

Set u=log x and v=log y, using natural logarithms. Every positive x corresponds to exactly one real u, with inverse x=exp u. Thus changing variables does not remove or duplicate positive decisions. For a monomial, log(c x^a y^b)=log c+au+bv. Multiplication has become addition, and powers have become coefficients.

For the product requirement, log(16/(xy))≤0 becomes log16−u−v≤0. For the objective x+y, minimising log(x+y) is equivalent to minimising x+y because logarithm is strictly increasing. The transformed objective is log(exp u+exp v), not u+v. Confusing the log of a sum with the sum of logs would change the objective from a sum to a product.

The MOSEK exponential-cone chapter shows how GP expressions become log-sum-exp constraints and how those can be represented using exponential cones. The essential consequence is that the transformed standard problem is convex. This supports global optimisation of the specified model rather than a search that only identifies a nearby local minimum.

Check one point in both coordinate systems

At x=4,y=4, we have u=v=log4. The transformed constraint is log16−2log4=0. The transformed objective is log8. At x=2,y=8, the constraint is again zero, but the objective is log10, which is larger. The ordering agrees with the original costs 8 and 10.

Notice what is preserved and what is changed. Feasibility and the ordering of objective values are preserved. Numerical distances between points, gradient values and objective differences generally are not. An improvement of 0.1 in the log objective is a multiplicative improvement in the original objective, not a reduction of 0.1 cost units.

Always retain the inverse transformation. If a solver reports u and v, the implementable settings are exp u and exp v. Accidentally treating logarithmic coordinates as original settings can produce negative “capacities” and invalid performance estimates even when the optimisation calculation itself was correct.

Previous chapter · Contents · Next chapter

CHAPTER 5 OF 14 · Transform and certify

5. See convexity through a complete two-term calculation

Back to contents

For the two-term expression F(u,v)=log(exp u+exp v), define p=exp u/(exp u+exp v). Then the first derivatives are p and 1−p. These weights lie between zero and one and sum to one. They describe how much each term contributes to the logarithmic response of the total.

Differentiating again gives the Hessian p(1−p) times the matrix with rows (1,−1) and (−1,1). For any direction (a,b), the corresponding quadratic form is p(1−p)(a−b)², which is nonnegative. This directly proves convexity for this example. No plotted curve or solver status is needed for the proof.

At u=v, the weights are both one half. The Hessian is one quarter of that matrix. Moving in the direction (1,−1) increases imbalance between the two settings and creates curvature. Moving in the direction (1,1) gives zero curvature because F(u+t,v+t)=t+F(u,v). A shared scale change is linear in logarithmic coordinates.

Convex does not automatically mean strictly convex

The zero-curvature direction explains why a convex transformed objective need not have positive curvature in every direction. Unique optimal settings depend on the constraints and the full problem. A reader should not infer uniqueness merely from the word “convex”. Some models admit a whole family of equally good settings.

For a concrete alternative, minimise xy subject to xy≥16. Every positive pair with product 16 is optimal. The log objective u+v is affine, and the feasible boundary is the line u+v=log16. The model identifies an optimal product without preferring one allocation of that product over another.

To choose between those settings, add a real decision criterion: perhaps minimise the sum of their costs after fixing the product, or impose a maximum on one component. Do not invent a preference solely to force a unique solver output. A nonunique mathematical answer can accurately represent genuine freedom in the decision.

The same distinction matters when comparing two runs. Different coordinates with the same feasible cost may reflect nonuniqueness rather than numerical failure. Inspect the original requirements and the objective before deciding that disagreement between returned settings needs repair.

Previous chapter · Contents · Next chapter

CHAPTER 6 OF 14 · Transform and certify

6. Solve the product-constrained design and certify its cost

Back to contents

Return to minimising x+y with xy≥16. The identity (√x−√y)²≥0 gives x+y≥2√(xy). Feasibility then implies x+y≥8. Since x=y=4 is feasible and attains 8, the optimal cost is exactly 8. Equality requires both xy=16 and x=y, so this particular problem has a unique optimal pair.

This proof is a certificate: it supplies a bound for every feasible pair and one pair attaining that bound. Trying many numerical pairs would only show that no better point was found among those trials. The inequality excludes every better feasible pair at once.

Now assign different unit costs. Minimise ax+by subject to xy≥P, with a,b,P positive constants. Applying the same square argument to ax and by gives ax+by≥2√(abxy)≥2√(abP). Equality requires ax=by and xy=P. Solving these equations yields x=√(bP/a), y=√(aP/b), and minimum cost 2√(abP).

Change prices before changing the method

Take a=4,b=1,P=16. The answer is x=2,y=8, costing 4×2+8=16. Equal settings would cost 4×4+4=20. The cheaper setting should be used more heavily, but the product constraint prevents the expensive setting from being reduced arbitrarily.

The balance is equal expenditure ax=by, not equal physical settings. This is a common place for memorised symmetry to fail. A student who returns (4,4) after the prices change has retained the old answer while losing the reason for it.

With these parameters, setting x=1,y=16 costs 20, and setting x=3,y=16/3 costs about 17.333. Both are feasible and both exceed the certified minimum. These checks are useful for arithmetic, although the general inequality remains the proof.

The Convex Duality root develops the broader relationship between feasible decisions and bounds. Here the square identity is enough to produce a complete certificate without introducing a numerical optimisation package.

Previous chapter · Contents · Next chapter

CHAPTER 7 OF 14 · Allocate and check limits

7. Allocate a fixed budget between two reciprocal costs

Back to contents

Consider a different teaching model: minimise D(x,y)=9/x+1/y subject to x+y≤8 and x,y>0. Interpret x and y as continuous resource settings and D as a dimensionless delay score. The reciprocal laws are assumptions. They do not establish that a real system’s delay always varies inversely with its allocated resources.

Because each term decreases when its own resource increases, an optimum must use the full budget. If x+y<8, increasing x slightly stays feasible and reduces 9/x. Therefore an optimal pair satisfies x+y=8, even though the model correctly uses an inequality rather than an unsupported GP equality.

Multiply the objective by the used budget. We obtain (9/x+1/y)(x+y)=10+9y/x+x/y. The last two terms sum to at least 6, because their product is 9. Hence D(x,y)≥16/(x+y)≥2. Equality occurs when 9y/x=x/y, giving x=3y. Together with x+y=8, this yields x=6,y=2 and D=2.

Compare reasonable-looking allocations

An equal allocation x=y=4 gives D=9/4+1/4=2.5. It spends the same budget but has a score 25% above the optimum. Allocating x=7,y=1 gives D=9/7+1≈2.286. Giving almost everything to the first component neglects the rapidly increasing reciprocal cost of starving the second.

For general positive a,b,B, the same calculation gives x=B√a/(√a+√b), y=B√b/(√a+√b), and minimum score (√a+√b)²/B. The allocation is proportional to square roots of the coefficients, not to the coefficients themselves.

Check the general formula against the example: √9=3 and √1=1, so three quarters of the budget goes to x. If both coefficients are multiplied by four, the optimal allocation remains the same and the score is multiplied by four. If the budget doubles while the laws remain valid, both settings double and the optimal score halves. These are testable consequences of the model assumptions.

Previous chapter · Contents · Next chapter

CHAPTER 8 OF 14 · Allocate and check limits

8. Handle a monomial equality and identify the active tradeoff

Back to contents

Suppose two positive settings must satisfy x/y²=1, and the objective is x+16/y. The equality says x=y². It might represent a deliberately simplified scaling relationship between two design quantities. We assume no additional caps and measure all quantities relative to fixed reference scales.

Substituting x=y² reduces the problem to minimising h(y)=y²+16/y for y>0. Its derivative is 2y−16/y². Setting that derivative to zero gives y³=8, so y=2 and x=4. The resulting objective is 4+8=12.

The second derivative is 2+32/y³, which is positive on the domain. Also, the objective tends to infinity as y approaches zero or grows without bound. Therefore the stationary point is the unique global minimiser. These domain and boundary checks complete the argument; the derivative equation alone would not establish the whole conclusion.

Verify the same answer in logarithmic coordinates

The equality becomes u−2v=0. The objective becomes log(exp u+16exp(−v)). At u=log4,v=log2, the two original objective terms contribute 4 and 8. Their logarithmic weights are therefore one third and two thirds.

Moving along the equality means du=2dv. The derivative of the transformed objective along that direction is (1/3)×2+(2/3)×(−1)=0. This gives a second explanation of the balance: the positive exponent of the first term offsets the negative exponent of the second after their contributions are weighted.

The terms are not equal at the optimum. The first is 4 and the second is 8. Blindly applying an “equalise all terms” rule would give the wrong result. Exponents affect the marginal response, so the balancing condition must come from the actual derivative or an appropriate inequality certificate.

For a practical review, substitute the reported pair into both the equality and objective. If a rounded report gives x=4,y=1.99, the equality no longer holds exactly. Whether the deviation is acceptable depends on the application’s tolerances, and those tolerances should be stated in the original quantities.

Previous chapter · Contents · Next chapter

CHAPTER 9 OF 14 · Allocate and check limits

9. Distinguish structural limits from modelling opportunities

Back to contents

GP can represent useful nonlinear relationships, but it does not make arbitrary nonlinear optimisation convex. A variable exponent, such as x^y, is outside the standard fixed-exponent monomial definition. A negative coefficient can introduce cancellation. A sum equality can impose a nonconvex boundary after transformation. Each change requires fresh analysis.

Consider x+y=8 in logarithmic coordinates. The points corresponding to (2,6) and (6,2) satisfy it. Their midpoint in log coordinates corresponds to (√12,√12), whose sum is about 6.928, not 8. Thus the transformed equality set fails the convex-set midpoint test. Replacing equality by an upper bound fills in allowed points and changes the set.

For the delay model, we justified an upper bound because the objective forces budget use. For another objective, that justification can fail. Minimise x+y subject to x+y≤8 and positive variables: the infimum is zero, approached as both settings shrink. There is no positive pair attaining it. Neither the upper bound nor convexity guarantees an attained optimum.

A small lower bound changes the problem

Adding x≥ε,y≥ε makes the last problem attain cost 2ε. That may be a sensible model if ε is a real minimum operating setting. It is not an innocent numerical adjustment if the physical problem has no such bound. Report it as a modelling assumption and test sensitivity to its value.

Some broader log-log convex problems can be handled by disciplined geometric programming, or DGP. The CVXPY DGP documentation distinguishes that framework from standard GP and explains that its recognised expression rules can be conservative. A rejected expression is a reason to examine the formulation, not by itself a proof that no equivalent convex representation exists.

The Fractional Programming root provides another route when the objective is a ratio. A ratio does not automatically make a problem a GP, and a positive denominator alone does not justify every transformation. Choose the method from the verified structure.

Previous chapter · Contents · Next chapter

CHAPTER 10 OF 14 · Compute and diagnose

10. Compute logarithms stably and recover meaningful residuals

Back to contents

The expression log(exp u+exp v) can overflow if evaluated carelessly. With u=1000 and v=999, direct exponentiation is too large for ordinary double-precision arithmetic. Let m=max(u,v). The identical expression m+log(exp(u−m)+exp(v−m)) gives 1000+log(1+exp(−1)), approximately 1000.313262.

This is an algebraic rearrangement, not an approximation to the mathematical function. The remaining floating-point evaluation still has finite precision, but the largest exponent is now zero. For a sum of many terms, use the same maximum shift and a reliable log-sum-exp implementation.

The existing Mixture Density Networks specialist article explains the same stabilisation when summing component densities. That is a useful transfer connection: the numerical mechanism is shared even though fitting a neural mixture model is a different optimisation task from solving a standard GP.

Translate residuals back to ratios

For a normalised inequality f(x)≤1, a logarithmic residual r=log f(x) is satisfactory when r≤0. If r=0.001, then f(x)=exp(0.001)≈1.0010005, a violation of about 0.10005%. The number 0.001 is not automatically a violation of 0.001 physical units.

For a monomial equality g(x)=1, inspect |log g(x)| as well as the original ratio g(x). A log residual of −0.01 means g≈0.99005. Whether a roughly one-percent discrepancy is acceptable depends on what the equality represents. Store the requirement, the calculated value and the tolerance together.

If a transformed minimisation has a valid lower bound d and a feasible log objective t, then exp(d)≤f*≤exp(t). The multiplicative gap is bounded by exp(t−d), while an absolute upper bound on the original objective gap is exp(t)−exp(d). Feasibility and validity of the lower bound are essential; a small number labelled “gap” is not enough without its definition.

Previous chapter · Contents · Next chapter

CHAPTER 11 OF 14 · Compute and diagnose

11. Diagnose failures with counterexamples and repairs

Back to contents

Failure one is a mistaken transformation. A learner writes log(x+y)=log x+log y. Test x=y=1: the left side is log2 and the right side is zero. Repair the derivation using log-sum-exp, and then repeat the original-point checks. This error changes the objective, so a successful solver run cannot rescue it.

Failure two is a missing positivity assumption. An input contains y=0 in 9/x+1/y. The expression is undefined. A meaningful repair is to revisit the variable’s permitted domain and the operating model. Silently replacing zero by an arbitrary tiny number can create an enormous cost and conceal an important on/off decision.

Failure three is a result that meets transformed tolerances but fails the original requirement after rounding. The product pair (3.999,4) has product 15.996, below 16. Its attractive reported cost is not a valid improvement on 8. Recalculate all constraints using the numbers that will actually be used, including display rounding or discrete conversion.

Separate three questions about a reported failure

First ask whether the equations are accepted by the modelling rules. Then ask whether the mathematical problem is feasible and has an attained optimum. Finally ask whether the numerical method solved it to adequate accuracy. These are different questions; an error at one stage should not be described as proof of failure at another.

For example, the requirements xy≥16 and x+y≤7 are impossible: x+y≥2√(xy)≥8 gives a contradiction. This is an analytic infeasibility certificate. A solver timeout would not supply that certificate. Conversely, a feasible point such as (4,4) disproves infeasibility for the problem with budget 8, even if a particular solver struggles.

Failure four is extrapolation. A power law fitted over settings from 1 to 5 may be used at a suggested setting of 100. The optimisation can be mathematically correct while the prediction is unsupported. Repair the model domain, collect relevant evidence, or explicitly present the result as an extrapolation requiring validation.

Keep diagnostic records short but specific: the failing equation, one numerical counterexample, the corrected assumption or expression, and the recalculated result. This makes the repair reproducible and prevents a vague “solver issue” from hiding an algebra or data problem.

Previous chapter · Contents · Next chapter

CHAPTER 12 OF 14 · Compute and diagnose

12. Interpret sensitivity and uncertainty without overclaiming

Back to contents

For the unweighted product design, the optimal cost as a function of requirement P is C(P)=2√P. Its logarithm is log2+(1/2)logP. Thus a small percentage increase in P produces approximately half that percentage increase in optimal cost. The exact comparison is C(P₂)/C(P₁)=√(P₂/P₁).

Increasing P from 16 to 17.64 multiplies the requirement by 1.1025 and the cost by 1.05. The optimal settings move from (4,4) to (4.2,4.2), and cost increases from 8 to 8.4. This exact example shows why percentage sensitivity should not be confused with an additive change in units.

Now suppose the true requirement is uncertain but known to lie between 16 and 18, and the design must meet every value in that interval. For this monotone constraint, using P=18 protects against the whole interval. The optimal pair becomes (√18,√18), with cost 2√18≈8.485281. That is about 6.066% more than the cost at P=16.

Explain what the protection covers

The conclusion depends on uncertainty affecting only the right-hand-side requirement and on the asserted interval being valid. It does not cover an inaccurate product law, a failed component, or uncertain costs. A robust answer to one specified uncertainty set is not a universal reliability guarantee.

Coefficient uncertainty can sometimes be treated similarly. If a nonnegative term increases with an uncertain positive coefficient, using its largest allowed value gives a conservative bound for that term. Correlated coefficients, uncertain exponents and coupled uncertainty sets require separate reasoning. Maximising every coefficient independently may protect against combinations that cannot actually occur.

The Parametric Optimization root examines how solutions change with parameters and active constraints. Here the smooth square-root response applies only while additional bounds remain inactive. A cap can change the formula and the economic interpretation of the next increment.

Before acting on sensitivity, state the varied parameter, the fixed assumptions, and the range of the comparison. For a physical design, also compare predicted changes with measurement uncertainty. Reporting six decimal places in a toy calculation does not imply that an empirical power-law coefficient is known that precisely.

Previous chapter · Contents · Next chapter

CHAPTER 13 OF 14 · Transfer and continue

13. Transfer the method when a capacity becomes binding

Back to contents

Change the first problem by adding x≤3. We still minimise x+y with xy≥16 and positive variables. The previous pair (4,4) is now forbidden. The new constraint is a valid monomial upper bound, x/3≤1, so the formulation remains a GP.

For a fixed x, the least feasible y is 16/x because the objective increases with y. The reduced objective is h(x)=x+16/x on 0<x≤3. Its derivative is 1−16/x², which is negative throughout that interval. Therefore the best permitted x is 3, giving y=16/3 and total cost 25/3≈8.333333.

Check every requirement: x is positive, y is positive, xy=16, and x=3 meets the cap. The cost exceeds the old optimum 8, as it must when the feasible set shrinks. A reported cost below 8 would immediately signal a constraint, arithmetic or interpretation error.

Derive the whole cap response

With a positive cap c, the answer is unchanged at (4,4) when c≥4. When 0<c<4, the answer is (c,16/c), costing c+16/c. The formula switches at c=4 because that is where the unconstrained optimum first becomes available.

At c=2 the cost is 10. Raising the cap to 3 lowers it to about 8.333. Raising the cap from 5 to 6 changes nothing, because neither cap restricts the optimum. More capacity is valuable only when it removes a relevant limitation in this model.

Now add an upper bound y≤5 while keeping x≤3. The largest possible product is 15, so the requirement xy≥16 becomes infeasible. Increasing the budget alone cannot fix this contradiction. At least one capacity or the performance requirement must change. This distinction helps prevent spending on an input that cannot resolve the actual bottleneck.

For independent practice, change the requirement to xy≥25 and set x≤4. The same reasoning gives x=4,y=25/4, cost 41/4=10.25. Without the cap, the answer would be (5,5), cost 10. Explain the derivative sign and substitute the final pair into the constraints before treating the exercise as complete.

Previous chapter · Contents · Next chapter

CHAPTER 14 OF 14 · Transfer and continue

14. Answer practical questions and choose a learning route

Back to contents

Is every positive nonlinear model a geometric program?

No. Positive values are necessary for the standard logarithmic representation, but they do not establish the required expression structure. Coefficient signs, fixed exponents, inequality directions and equality forms must all be checked. The examples involving x+y≥10 and x+y=8 show why an apparently small change can matter.

Does a convex transformation guarantee an implementable answer?

It gives a tractable mathematical structure, not a promise about the world. The model may be infeasible, its infimum may not be attained, or the numerical answer may need tighter verification. Even an exact optimum may require unsupported continuous settings or rely on an inaccurate physical law. Review these questions separately.

Can I solve these examples in software?

Yes. In CVXPY’s documented DGP workflow, declare positive variables with pos=True, check the problem with is_dgp(), and solve in GP mode using solve(gp=True). For the first example, the objective is x+y and the constraint is 16/(x*y)≤1. Compare the returned settings with the analytic answer (4,4), then inspect status and original residuals. Software support and solver availability depend on the installed environment.

Why learn the hand calculations if a solver is available?

The small cases provide independent expectations. They reveal reversed bounds, lost coefficients, incorrect exponents and rounding violations before those errors are buried in a larger model. They also show which properties survive a change: the unequal-price example preserves the product constraint but changes the balancing condition.

What should a beginner practise first?

Start by classifying ten expressions as monomials, posynomials or neither. Next normalise upper and lower bounds without reversing them. Then solve the product example, the reciprocal-budget example and the binding-cap exercise. For each, write a feasible point, a proof or bound, and a changed-context check. These are stronger evidence of understanding than recognising a formula in a worked solution.

What should an applied modeller practise next?

Choose one measured relationship and document its units, positive domain, fitted range and uncertainty. Decide whether a GP representation is exact or an approximation. Compare the optimised design with a simple baseline and reevaluate it using the original relationship. Keep unsupported extrapolation out of the decision claim.

For further technical reading, use the Stanford GP tutorial for modelling foundations, the MOSEK chapter for exponential-cone representations, the CVX guide for GP expression rules, and the CVXPY DGP tutorial for the broader log-log framework. Return to the Gold Standard collection when you want a neighbouring subject rather than a deeper solver formulation.

Previous chapter · Contents · Gold Standard master