0/70 completed
Optimization Interactive

Linear Programming

Optimize resource allocation under constraints. Find the best budget split, pricing mix, or exposure limits to maximize profit.

๐Ÿ“ LP Framework

Decision Variables

What you control (allocations, prices, quantities)

xโ‚ = social budget, xโ‚‚ = search budget...

Objective Function

What to maximize/minimize

max: 1.5xโ‚ + 2.0xโ‚‚ + 1.8xโ‚ƒ

Constraints

Limits and requirements

xโ‚ + xโ‚‚ + xโ‚ƒ โ‰ค 100, xโ‚ƒ โ‰ฅ 10

Non-negativity

Variables must be โ‰ฅ 0

xโ‚, xโ‚‚, xโ‚ƒ โ‰ฅ 0

Budget & Returns

Total Budget ($K) 100
50 500
Social
ROI: 0.30
Search
ROI: 0.20
Display
ROI: 0.23

Constraints

Max Social (%) 40
10 80
Max Search (%) 50
10 80
Min Display (%) 10
5 40

๐ŸŽฏ Optimal Allocation

Social
$40K
40%
Search
$0K
0%
Display
$60K
60%

๐Ÿ“Š Performance Comparison

Optimal Allocation
25.5
Total Return Units
Equal Allocation
24.2
Total Return Units
Optimization gain: +5.5%

๐Ÿ€ Sports Betting Applications

Liability Management

Maximize expected profit while limiting exposure per game, sport, or outcome.

max profit s.t. exposure_i โ‰ค limit_i

Promo Budget Allocation

Allocate bonus budget across user segments to maximize LTV.

max ฮฃ ROI_i ร— spend_i s.t. ฮฃ spend โ‰ค B

Market Mix

Optimize bet offering across markets (spreads, totals, props) for margin.

max margin s.t. diversity constraints

๐Ÿ“ Standard Form

LP Standard Form

Maximize:   c'x
Subject to: Ax โ‰ค b
            x โ‰ฅ 0
  • โ€ข c: objective coefficients (returns)
  • โ€ข x: decision variables (allocations)
  • โ€ข A: constraint matrix
  • โ€ข b: constraint bounds

Solving Methods

  • โ†’ Simplex: Classic algorithm, walks vertices
  • โ†’ Interior Point: Faster for large problems
  • โ†’ Tools: R (lpSolve), Python (scipy, cvxpy)

R Code Equivalent

# Linear Programming with lpSolve
library(lpSolve)

# Objective: maximize returns
# Decision vars: [social, search, display]
obj_coef <- c(0.30, 
              0.20, 
              0.23)

# Constraints matrix
# 1. social + search + display โ‰ค budget
# 2. social โ‰ค max_social%
# 3. search โ‰ค max_search%
# 4. display โ‰ฅ min_display%
const_mat <- matrix(c(
  1, 1, 1,          # budget constraint
  1, 0, 0,          # social max
  0, 1, 0,          # search max
  0, 0, -1          # display min (negated for โ‰ค form)
), nrow = 4, byrow = TRUE)

const_rhs <- c(100, 
               40, 
               50, 
               -10)

const_dir <- c("<=", "<=", "<=", "<=")

# Solve
solution <- lp("max", obj_coef, const_mat, const_dir, const_rhs)
print(solution$solution)  # Optimal allocation
print(solution$objval)    # Maximum return

โœ… Key Takeaways

  • โ€ข LP: optimize linear objective with linear constraints
  • โ€ข Simplex/Interior Point algorithms solve efficiently
  • โ€ข Use for budget allocation, liability limits
  • โ€ข Always check constraint feasibility
  • โ€ข Shadow prices show constraint value
  • โ€ข Extend to integer/quadratic for more complex cases

Pricing Models & Frameworks Tutorial

Built for mastery ยท Interactive learning