Optimisation

James Phoenix
James Phoenix

Finding the best solution under constraints.


Engineering Applications

  • Resource Allocation: CPU, memory, budget distribution
  • Performance Tuning: Finding optimal configurations
  • ML Training: Gradient descent, hyperparameter tuning
  • Scheduling: Task assignment, load balancing
  • Cost Optimisation: Cloud spend, infrastructure sizing

Core Concepts

Objective Function

The thing you’re trying to minimise or maximise.

minimise f(x) subject to constraints g(x) ≤ 0

Local vs Global Optima

  • Local: Best in neighbourhood
  • Global: Best overall

Many problems have many local optima — need strategies to escape.

Gradient Descent

x_new = x_old - α * ∇f(x)

Move in the direction of steepest descent.

  • α (learning rate): Step size
  • ∇f: Gradient (direction of steepest ascent)

Convexity

A convex problem has one global optimum — much easier to solve.
Non-convex problems require more sophisticated approaches.


Optimisation Strategies

Strategy When to Use
Grid Search Small parameter space, need exhaustive coverage
Random Search Large space, diminishing returns from exhaustive
Gradient Descent Differentiable objective
Bayesian Optimisation Expensive evaluations, need sample efficiency
Genetic Algorithms Complex landscapes, no gradient available

System Design Connections

Hyperparameter Tuning

# Grid search
for lr in [0.001, 0.01, 0.1]:
    for batch_size in [32, 64, 128]:
        evaluate(lr, batch_size)

Cost-Performance Trade-offs

minimise: cost
subject to: latency_p99 ≤ 100ms
            availability ≥ 99.9%

Auto-tuning

Systems that optimise their own parameters based on observed performance.

Leanpub Book

Read The Meta-Engineer

A practical book on building autonomous AI systems with Claude Code, context engineering, verification loops, and production harnesses.

Continuously updated
Claude Code + agentic systems
View Book

Key Insight

Most engineering decisions are optimisation problems in disguise:

  • “What instance type should I use?” → Cost-performance optimisation
  • “How many retries?” → Reliability-latency trade-off
  • “Cache size?” → Memory-latency trade-off

Framing problems as optimisation clarifies the trade-offs.


Related

Topics
Control TheoryData SciencePerformance

Newsletter

Become a better AI engineer

Weekly deep dives on production AI systems, context engineering, and the patterns that compound. No fluff, no tutorials. Just what works.

Join 306K+ developers. No spam. Unsubscribe anytime.


More Insights

Cover Image for How to Automate Agentic Engineering Failure-Mode Detection in the SDLC

How to Automate Agentic Engineering Failure-Mode Detection in the SDLC

**Every engineer running Claude Code is already writing a diary of where the SDLC breaks**: every stalled task, every abandoned plan, every loop they gave up on and finished by hand. Nobody uses that diary, because using it means a human reads a colleague’s session, and that is a trust violation no team will accept. Here is how to turn that diary into a working pipeline anyway, without a single person ever reading a transcript.

James Phoenix
James Phoenix
Cover Image for Lights-On vs. Dark Software Factories

Lights-On vs. Dark Software Factories

The difference between the two is not how much code agents write. It’s who verifies it.

James Phoenix
James Phoenix