liveBook · Manning

Equality constraint

As explained in Optimization Algorithms: AI techniques for design, planning, and control problems

An equality constraint is a constraint requiring an expression involving decision variables to equal a specified value.

An equality constraint requires an expression involving decision variables to equal a specified value exactly. It narrows the feasible search space while the objective function identifies the preferred feasible solution. section 2.1.3 section 1.3

Ticket allocation

A conference has 10,000 physical welcome packages and must sell exactly 10,000 tickets across physical and virtual attendance. With x as physical sales and y as virtual sales, the equality is x + y = 10,000. Profit remains the objective, so the task is to find the most profitable allocation satisfying that exact total. section 2.1.3

Listing 2.5 Maximizing profits using Lagrange multipliers
import sympy as sym
  
x,y=sym.var('x, y', positive=True)                     #1
  
f=155*x+(0.001*x**sym.Rational(3,2)+70)*y-1000000      #2
  
g=x+y-10000                                            #3
  
lamda=sym.symbols('lambda')                            #4
Lagr=f-lamda*g                                         #5
  
eqs = [sym.diff(Lagr, x), sym.diff(Lagr, y), g]        #6
  
sol=sym.solve(eqs,[x,y,lamda], dict=True)              #7
   
def getValueOf(k, L):
    for d in L:
        if k in d:
            return d[k]
  
profit=[f.subs(p) for p in sol]
  
print("optimal number of physical ticket sales: x = %.0f" % getValueOf(x, sol))
print("optimal number of online ticket sales: y = %.0f" % getValueOf(y, sol))
print("Expected profil: f(x,y) = $%.4f" % profit[0])

A SymPy implementation represents the equality as g = x + y − 10000, forms a Lagrangian, differentiates with respect to x, y, and the multiplier, and solves the resulting equations. section 2.1.3

How Optimization Algorithms: AI techniques for design, planning, and control problems covers it

How deep it goes
Defines equality constraints and works through a Lagrange-multiplier implementation, while stopping short of formal proof.
Examples
Uses a conference ticket-allocation problem and a SymPy Lagrangian script to illustrate exact feasibility and profit optimization.
What it assumes
Assumes basic optimization vocabulary, while introducing decision variables, objective functions, and constraint categories.
What you can do after
Apply it via Lagrange multipliers and SymPy to solve a small equality-constrained profit-allocation problem.
How it connects
Connects decision variables, objective functions, feasible solutions, inequality constraints, constrained optimization, and Lagrange multipliers.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Optimization Algorithms: AI techniques for design, planning, and control problems. The section links point to the parts of the book it draws on.