Tutorials › CAS Exam 8 - Advanced Ratemaking › Classifying Price Optimization Constraints

CAS Exam 8 · Optimization Objectives and Constraints · Tutorial 805 of 989

Classifying Price Optimization Constraints

Classify common price-optimization constraints and translate operational requirements into precise restrictions on decision variables and portfolio outcomes.

Intermediate 11 min read

What You'll Learn

  • Distinguish an exact requirement from a condition that permits slack.
  • Write equality and inequality constraints using clear mathematical notation.
  • Identify bounds that apply to individual decision variables.
  • Express an aggregate portfolio guardrail using appropriate weights.
  • Test candidate prices against every condition in a feasible set.
  • Recognize common errors in translating business requirements into constraints.

Why Constraint Classification Matters

A price optimization problem has two distinct parts: an objective to optimize and a feasible set of prices the model is allowed to consider. The objective might be expected contribution or another portfolio measure. Constraints describe requirements that must hold regardless of which objective is selected. A price vector that improves the objective is not an acceptable solution if it violates even one applicable constraint.

Let \(p_i\) denote the price decision for customer or segment \(i\), and collect the decisions in the vector \(\mathbf{p}=(p_1,\ldots,p_n)\). A constraint can apply to one decision, several decisions jointly, or an outcome calculated for the whole portfolio. Classification helps prevent a frequent modeling error: expressing a requirement as if it applied separately to each customer when it is actually an aggregate requirement, or treating a target as exact when deviations are allowed.

Definition: The feasible set is the set of all decision vectors satisfying every specified restriction. An equality constraint requires a stated relationship to hold exactly. An inequality constraint permits values on one side of a limit. A decision-variable bound restricts the allowed value of an individual decision. A portfolio guardrail restricts a quantity calculated across multiple decisions or across the portfolio.

Four Constraint Types

An equality constraint has the form \(h(\mathbf{p})=b\), where \(h\) is a function of the decision variables and \(b\) is a required value. It is appropriate when a condition must hold exactly, such as a prescribed weighted average or an exact accounting identity. A target that is merely desirable is not an equality constraint unless the problem explicitly makes it mandatory.

An inequality constraint has the form \(g(\mathbf{p})\leq b\) or \(g(\mathbf{p})\geq b\). The permitted side matters: “no more than” translates to \(\leq\), while “at least” translates to \(\geq\). If an inequality holds exactly at its limit, it is binding; if it holds strictly, it has slack. Equality constraints have no slack when satisfied.

A decision-variable bound applies directly to one or more coordinates. In general, the bounds for decision \(i\) can be written \(l_i\leq p_i\leq u_i\), when both a lower and an upper bound are specified. One-sided bounds are written separately, such as \(p_i\geq l_i\). The mathematical form is important: a restriction on each customer’s price is different from a restriction on an average price across all customers.

A portfolio guardrail restricts an aggregate outcome, often represented by \(G(\mathbf{p})\). For example, a hypothetical organization might require an exposure-weighted portfolio index to remain within an approved range. The guardrail acts on the combined decisions; it does not necessarily require every individual decision to meet that same range.

TypeGeneral formWhat it requires
Equality\(h(\mathbf{p})=b\)An exact relationship or target
Inequality\(g(\mathbf{p})\leq b\) or \(g(\mathbf{p})\geq b\)A limit that may allow slack
Decision-variable bound\(l_i\leq p_i\leq u_i\)An allowed range for an individual decision
Portfolio guardrail\(G(\mathbf{p})\leq b\), for exampleA restriction on an aggregate outcome

These labels describe the role and scope of a restriction. A portfolio guardrail may itself be an equality or inequality, and a bound is mathematically an inequality. Classifying it separately is useful because it emphasizes that the restriction applies directly to a decision variable rather than to a calculated portfolio result.

Writing Constraints for a Weighted Portfolio

Suppose segment \(i\) has a fixed exposure weight \(w_i\), with \(w_i\geq 0\) and \(\sum_i w_i=1\). If \(p_i\) is a price index for that segment, the exposure-weighted portfolio index is \(\sum_i w_i p_i\). A requirement that this index equal a target \(c\) is an equality; a requirement that it not exceed \(c\) is an inequality. The same decision vector may therefore be subject to both individual bounds and aggregate guardrails.

$$ \text{Exact portfolio target: }\sum_{i=1}^{n}w_i p_i=c \qquad \text{Upper guardrail: }\sum_{i=1}^{n}w_i p_i\leq c $$

The weights must match the definition of the portfolio measure. An exposure-weighted average is not generally the simple arithmetic average of segment prices. If raw exposure amounts \(e_i\) are provided instead of normalized weights, set \(w_i=e_i/\sum_j e_j\), assuming total exposure is positive.

Justification: The exposure-weighted average is the total exposure-weighted index divided by total exposure. Thus \(\sum_i e_i p_i/\sum_i e_i=\sum_i (e_i/\sum_j e_j)p_i=\sum_i w_i p_i\). This explains why the weights must be normalized and why comparing an unnormalized weighted total directly with an average-index target is dimensionally incorrect.

Worked Example: Classifying an Exact Portfolio Target

A hypothetical portfolio has 300 units of exposure in segment A and 200 in segment B. Let \(p_A\) and \(p_B\) be the segments’ price indices. The required exposure-weighted portfolio index is exactly 1.04. A proposed pair is \(p_A=1.10\), \(p_B=0.95\). Write the restriction, classify it, and test the proposal.

Method. Normalize each exposure by total exposure. The total is \(300+200=500\), so \(w_A=300/500=0.60\) and \(w_B=200/500=0.40\). The exact requirement is the equality

$$ 0.60p_A+0.40p_B=1.04. $$

Substitute the proposed indices: \(0.60(1.10)=0.66\) and \(0.40(0.95)=0.38\). Their sum is \(0.66+0.38=1.04\). The proposal satisfies the equality exactly, so it is feasible with respect to this restriction.

Common mistake avoided. Using the unweighted mean gives \((1.10+0.95)/2=1.025\), which is not the specified portfolio measure because the segments have different exposures. Also, \(300(1.10)+200(0.95)=520\) is an exposure-weighted total, not an average index; dividing by 500 gives \(520/500=1.04\).

Decision-Variable Bounds Are Coordinate by Coordinate

When a model specifies an allowed range for each decision, check each coordinate separately. A candidate may satisfy the restriction for one segment and violate it for another. Bounds do not become an aggregate condition merely because the decisions are solved together. Conversely, satisfying all individual bounds does not establish that a separate portfolio guardrail is satisfied.

Worked Example: Testing Individual Decision Bounds

A hypothetical optimization uses price indices \(p_A\) and \(p_B\). Its allowed domains are \(0.80\leq p_A\leq1.20\) and \(0.90\leq p_B\leq1.10\). Test the proposed vector \((1.18,1.12)\), then test \((1.18,1.10)\). Classify the restrictions.

Method. These are decision-variable bounds: each inequality applies to one coordinate. For the first vector, \(p_A=1.18\) satisfies \(0.80\leq1.18\leq1.20\). But \(p_B=1.12\) exceeds its upper bound of 1.10. The vector is therefore infeasible, even though its A decision is allowed.

For the second vector, \(p_A=1.18\) still satisfies its bounds. The B decision is \(p_B=1.10\), and \(0.90\leq1.10\leq1.10\), so it satisfies its bounds at the endpoint. This second vector is feasible with respect to the stated bounds.

Common mistake avoided. It is incorrect to call the first vector feasible because its average index is within some plausible range. No aggregate test replaces the two coordinate-by-coordinate checks required here.

Portfolio Guardrails Restrict Combined Outcomes

A portfolio guardrail is evaluated after applying its specified aggregation rule. In a weighted-index example, individual decisions can each lie within their own allowed domains while their weighted average violates the portfolio restriction. The reverse can also occur: one decision may be high and another low, while the aggregate remains within its required range. Feasibility requires checking both levels whenever both types of constraints are present.

For an interval guardrail, write both sides explicitly, such as \(a\leq G(\mathbf{p})\leq b\). This is equivalent to the pair \(G(\mathbf{p})\geq a\) and \(G(\mathbf{p})\leq b\). Do not replace an interval with just one side, and do not treat the range as applying separately to every \(p_i\) unless that is what the requirement says.

Worked Example: Separating Bounds From a Portfolio Guardrail

For two hypothetical segments, suppose the individual domains are \(0.90\leq p_A\leq1.12\) and \(0.95\leq p_B\leq1.08\). A portfolio guardrail requires the exposure-weighted index to lie between 0.97 and 1.03, inclusive. The fixed weights are \(w_A=0.25\) and \(w_B=0.75\). Test \((1.10,1.02)\), then test \((1.08,1.00)\).

Method. First check the variable bounds. In the first vector, \(1.10\) is between 0.90 and 1.12, and \(1.02\) is between 0.95 and 1.08. Both bounds are satisfied. The portfolio value is

$$ 0.25(1.10)+0.75(1.02)=0.275+0.765=1.040. $$

The value 1.040 exceeds the upper guardrail 1.03, so the first vector is infeasible overall despite satisfying both individual bounds.

For the second vector, the bounds also hold: \(0.90\leq1.08\leq1.12\) and \(0.95\leq1.00\leq1.08\). Its portfolio value is \(0.25(1.08)+0.75(1.00)=0.270+0.750=1.020\). Since \(0.97\leq1.020\leq1.03\), the second vector satisfies the guardrail and is feasible with respect to all restrictions given.

Common mistake avoided. Checking only the two individual domains would incorrectly label the first proposal feasible. The portfolio condition is a separate restriction on the weighted outcome.

A Reliable Constraint-Classification Process

Translate each requirement by identifying what is restricted, whether it must hold exactly, and how its value is calculated. Then test every condition independently. A feasible price vector is one that passes the full set of checks; it is not enough to satisfy the most visible or most restrictive-looking condition.

1
Name the quantity.
Determine whether the requirement applies to one decision \(p_i\), a function of several decisions, or an aggregate portfolio outcome.
2
Read the condition literally.
Translate “equals” to an equality, “at most” to \(\leq\), and “at least” to \(\geq\). Preserve any stated inclusive endpoints.
3
Write the aggregation correctly.
Use the specified weights and normalize them when the requirement is an average based on raw exposure amounts.
4
Check all restrictions.
Test each decision-variable bound and each joint or portfolio condition. A failure in any one condition makes the proposed vector infeasible.

Common Classification Traps

  • Turning a preference into an equality. A desired target is not necessarily mandatory. Use equality only when the specification requires an exact result.
  • Reversing an inequality. “No more than” means \(\leq\); “no less than” means \(\geq\). Translate the wording before evaluating candidate values.
  • Confusing a bound with a portfolio rule. A bound checks a particular decision; a portfolio guardrail checks a calculated combined outcome.
  • Using the wrong weights. An exposure-weighted average requires exposure weights, not equal weights unless the exposures are equal.
  • Checking only the objective. A better objective value cannot compensate for violating a constraint. Feasibility is a separate test.
Key takeaway: Classify a requirement by what it restricts and whether it is exact or allows slack. Write the mathematical condition at the correct level, then verify every individual bound and every aggregate guardrail before treating a price vector as feasible.

Check Your Understanding

For each problem, classify the relevant condition and evaluate the proposed decision where requested.

  1. A hypothetical portfolio has exposure shares 0.25 and 0.75. The required weighted index is exactly 1.00. Test \(p_A=1.12\) and \(p_B=0.96\). Is the condition an equality or an inequality? (Answer: Equality; \(0.25(1.12)+0.75(0.96)=0.28+0.72=1.00\), so the proposal satisfies it.)
  2. Two decision bounds are \(0.85\leq p_1\leq1.15\) and \(0.90\leq p_2\leq1.08\). Test \((1.14,1.09)\). (Answer: Infeasible; \(p_1\) satisfies its bounds, but \(p_2=1.09>1.08\).)
  3. With exposure shares 0.60 and 0.40, a portfolio guardrail is \(0.98\leq0.60p_1+0.40p_2\leq1.02\). Test \((1.05,0.95)\). (Answer: The weighted value is \(0.60(1.05)+0.40(0.95)=0.63+0.38=1.01\), so the guardrail is satisfied.)
  4. A hypothetical requirement states that an aggregate index must be at least 0.97, where the index is \(0.40p_A+0.60p_B\). Write the restriction and classify it. (Answer: \(0.40p_A+0.60p_B\geq0.97\); it is a portfolio-level inequality guardrail.)
  5. Suppose \(0.92\leq p_A,p_B\leq1.10\), \(0.50p_A+0.50p_B=1.00\), and \(0.70p_A+0.30p_B\leq1.05\). Test \((1.08,0.92)\) against all conditions. (Answer: Feasible; both individual bounds hold, the equality gives \(0.50(1.08)+0.50(0.92)=1.00\), and the guardrail gives \(0.70(1.08)+0.30(0.92)=0.756+0.276=1.032\leq1.05\).)
Clinical Biostats