Skip to content

Solvers API

The solvers module contains different optimization solver implementations.

HiGHS Solver

HiGHS solver implementation for energy system optimization.

This module provides the HiGHSolver class for solving energy system optimization problems using the HiGHS linear programming solver.

optimize_algebraic_model(milp_model)

Solve the optimization model using HiGHS.

Parameters:

Name Type Description Default
milp_model EnergyMILPModel

The EnergyMILPModel to solve.

required

Returns:

Type Description
OptimizationResults

OptimizationResults containing the solution and metadata.

Source code in src/odys/solvers/highs_solver.py
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def optimize_algebraic_model(milp_model: EnergyMILPModel) -> OptimizationResults:
    """Solve the optimization model using HiGHS.

    Args:
        milp_model: The EnergyMILPModel to solve.

    Returns:
        OptimizationResults containing the solution and metadata.

    """
    solving_status, termination_condition = milp_model.linopy_model.solve(
        solver_name="highs",
        explicit_coordinate_names=True,
        output_flag=False,
    )

    return OptimizationResults(
        solver_status=SolverStatus(solving_status),
        termination_condition=TerminationCondition(termination_condition),
        milp_model=milp_model,
    )