Sports Model Interactive
Lineup Optimization
Build optimal DFS lineups under salary constraints. Balance projection, value, and correlation to maximize expected points.
Salary Cap
$50,000
Used
$13,500
Remaining
$36,500
Total Projection
68.0 pts
Player Pool
| Player | Pos | Salary | Proj | Value | Select |
|---|---|---|---|---|---|
| Ayo Dosunmu | PG | $4,200 | 22 | 5.24 | |
| Brandon Miller | SF | $5,500 | 28 | 5.09 | |
| Jokic | C | $11,500 | 58 | 5.04 | |
| Luka Doncic | PG | $11,000 | 55 | 5.00 | |
| Giannis | PF | $10,800 | 54 | 5.00 | |
| Bam Adebayo | C | $7,200 | 36 | 5.00 | |
| LeBron James | SF | $10,500 | 52 | 4.95 | |
| Trae Young | PG | $8,500 | 42 | 4.94 | |
| Jayson Tatum | SF | $9,800 | 48 | 4.90 | |
| Isaiah Stewart | C | $3,800 | 18 | 4.74 |
Value = Projection / Salary ร 1000. Higher = better bang for buck.
๐ Lineup Summary
Players 3
Total Projection 68.0 pts
Avg Value 5.04
Selected:
Brandon Miller 28 pts
Ayo Dosunmu 22 pts
Isaiah Stewart 18 pts
Optimization Tip
๐ก You have $36,500 left. Consider upgrading a player!
๐ฏ Optimization Approaches
Cash Game
Consistent floor, low variance
Chalk + value plays
GPP/Tournament
Need ceiling, differentiation
Contrarian + ceiling
Single Entry
One optimal lineup
Balanced approach
Multi-Entry
Portfolio of lineups
Maximize unique exposure
R Code Equivalent
# DFS lineup optimization with integer programming
library(lpSolve)
optimize_lineup <- function(players, cap = 50000, roster_size = 8) {
n <- nrow(players)
# Objective: maximize total projection
obj <- players$projection
# Constraints
# 1. Salary cap
# 2. Roster size
# 3. Position requirements
const_mat <- rbind(
players$salary, # Salary constraint
rep(1, n) # Roster size
)
const_rhs <- c(cap, roster_size)
const_dir <- c("<=", "=")
# Binary: each player in or out
result <- lp("max", obj, const_mat, const_dir, const_rhs,
binary.vec = 1:n)
selected <- which(result$solution == 1)
list(
lineup = players[selected, ],
total_proj = sum(players$projection[selected]),
total_salary = sum(players$salary[selected])
)
}โ Key Takeaways
- โข Maximize projection under salary constraint
- โข Value = Projection / Salary
- โข Balance studs with value plays
- โข Cash games: prioritize floor
- โข GPPs: prioritize ceiling + differentiation
- โข Integer programming for optimal solution