Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt

Use this file to discover all available pages before exploring further.

Optimization

Optimization in Ionworks Studio allows you to automatically find the best parameter values for your battery models. Instead of manually running many simulations with different parameter combinations, the optimization engine intelligently searches the parameter space to find values that maximize or minimize your objectives while respecting constraints.

When to Use Optimization

Optimization is ideal for:
  • Charge Protocol Design - Find optimal charging currents and voltage profiles that minimize charge time while avoiding lithium plating
  • Cell Design - Optimize electrode thicknesses, porosities, and other geometric parameters to maximize energy density or power capability
  • Multi-Objective Trade-offs - Balance competing goals like capacity vs. charge time, or energy vs. power

How Optimization Works

The optimization process follows these steps:
  1. Name your optimization (optional) - Give the run a descriptive name, or leave it blank to auto-generate one
  2. Select a cell and model - Choose the cell specification and parameterized model to optimize against
  3. Define Objectives - Specify what you want to maximize or minimize, and add constraints that must be respected
  4. Define Parameters - Select which model parameters to optimize and set their bounds (minimum and maximum values)
  5. Configure Algorithm - Set the number of multistarts and maximum iterations
  6. Run Optimization - The algorithm explores the parameter space to find the optimal values for the given objective and constraints
  7. Review Results - Compare the optimized results against your baseline and examine the iteration history

Multistart Optimization

Optimization problems can have multiple local optima. To increase the chance of finding the global optimum, Ionworks uses multistart optimization:
  • Multiple optimization runs start from different initial points
  • Each run converges to a local optimum
  • The best result across all runs is selected as the final answer
The default number of multistarts depends on your chosen optimizer. Global optimizers like Differential Evolution default to 1 multistart since they explore the search space broadly on their own. Local optimizers like XNES and CMA-ES default to 4. You can always adjust this to balance thoroughness and computation time. See Parallelisation for details on how CPUs are allocated across multistart runs.

Optimization Templates

Ionworks provides pre-configured optimization templates to help you get started quickly. Templates are scoped to individual projects, so each project can have its own set of templates tailored to its specific needs. Built-in system templates (Design and Charge) are available in every project as read-only starting points.

Design Optimization

Optimize cell design parameters like electrode thicknesses and material properties to achieve target performance characteristics. Common use cases:
  • Maximize cell capacity for a given form factor
  • Optimize electrode thickness ratios for fast charging
  • Balance energy density and power capability

Charge Optimization

Optimize charging protocol parameters to minimize charge time while respecting safety constraints. Common use cases:
  • Multi-step constant current charging
  • Minimizing 0-80% charge time
  • Avoiding lithium plating (maintaining positive anode potential)
You can also copy templates between projects to reuse configurations across your organization.

Key Concepts

Parameters

Parameters are the values you want to optimize. Each parameter has:
  • Name - The model parameter to vary (e.g., “Positive electrode thickness [m]”)
  • Bounds - The minimum and maximum allowed values
  • Initial Value - The starting point for optimization (defaults to model value)

Objectives

Objectives define what you want to achieve. Each objective includes:
  • Experiment - The simulation protocol to run (in UCP format)
  • Goals - What to maximize or minimize
  • Constraints - Limits that must be respected

Metrics

Metrics extract values from simulation results for use in goals and constraints:
Metric TypeDescriptionExample Use
MaximumMaximum value during simulationPeak temperature
MinimumMinimum value during simulationMinimum anode potential
MeanAverage value over timeAverage power
SumTotal accumulated valueEnergy throughput
TimeValue at a specific time pointFinal capacity
SOCValue at a specific state of chargeVoltage at 80% SOC
VoltageValue at a specific voltageTime to reach 4.2V
PointBasedSingle-point value (no time series)Cell cost

Constraints

Constraints define limits that must be respected. If a constraint is violated, a penalty is added to the cost function. Each constraint has:
  • Action - “GreaterThan” or “LessThan”
  • Value - The threshold value
  • Penalty - The penalty weight for violations (default: 1e6)

Algorithm Configuration

Optimizer selection

Ionworks supports several optimization algorithms. The default is Differential Evolution, a global optimizer that works well across a wide range of problems without manual tuning.
OptimizerTypeBest forDefault multistarts
Differential Evolution (default)Population-based, globalGeneral-purpose optimization; noisy or multimodal landscapes1
XNESPopulation-basedGeneral-purpose; smooth landscapes4
CMA-ESPopulation-basedDifficult non-separable problems4
PSOPopulation-based, globalBroad exploration via swarm intelligence1
Nelder-MeadSingle-point, gradient-freeFast convergence on simple problems; may find local optima4
Global optimizers like Differential Evolution and PSO explore the search space broadly on their own, so they typically need only 1 multistart. Local optimizers benefit from multiple multistarts to avoid getting stuck in local optima.

Algorithm parameters

You can tune the optimization algorithm:
  • Multistarts - Number of parallel optimization runs (1-50). The default depends on the optimizer — global optimizers default to 1, while local optimizers default to 4.
  • Max Iterations - Maximum iterations per run (10-1000, default: 100)
More multistarts increase reliability but take longer. More iterations allow finer convergence but may not be needed for simple problems.

Next Steps