From e0f897bf4466bb476b99cef34972c17eefae4be8 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Wed, 18 Feb 2026 12:46:25 +0000 Subject: [PATCH] minor stying and typing --- recommendations/optimiser/CostOptimiser.py | 7 ++++++- recommendations/optimiser/GainOptimiser.py | 10 +++++++++- recommendations/optimiser/StrategicOptimiser.py | 2 +- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/recommendations/optimiser/CostOptimiser.py b/recommendations/optimiser/CostOptimiser.py index 32a869b2..43e303a7 100644 --- a/recommendations/optimiser/CostOptimiser.py +++ b/recommendations/optimiser/CostOptimiser.py @@ -1,4 +1,5 @@ from mip import Model, xsum, minimize, BINARY, OptimizationStatus +from typing import Mapping from utils.logger import setup_logger logger = setup_logger() @@ -13,7 +14,11 @@ class CostOptimiser: BUFFER = 0.2 def __init__( - self, components, min_gain, verbose=False, allow_slack=True + self, + components: list[list[Mapping[str, int | float | str]]], + min_gain: float | int, + verbose: bool = False, + allow_slack: bool = True ): self.components = components self.min_gain = min_gain diff --git a/recommendations/optimiser/GainOptimiser.py b/recommendations/optimiser/GainOptimiser.py index 5dbf1dc5..94e022da 100644 --- a/recommendations/optimiser/GainOptimiser.py +++ b/recommendations/optimiser/GainOptimiser.py @@ -1,5 +1,6 @@ from mip import Model, xsum, maximize, BINARY, OptimizationStatus from utils.logger import setup_logger +from typing import Mapping logger = setup_logger() @@ -9,7 +10,14 @@ class GainOptimiser: This class is used to maximise gain, given a constrained cost """ - def __init__(self, components, max_cost, max_gain, allow_slack=True, verbose=False): + def __init__( + self, + components: list[list[Mapping[str, int | float | str]]], + max_cost: float | int, + max_gain: float | int, + allow_slack: bool = True, + verbose: bool = False + ): """ This function will try and maximise the gain, given a constrained cost. If we specific a max_gain, then the optimisation routine is constained to try not to exceed a maximum increase diff --git a/recommendations/optimiser/StrategicOptimiser.py b/recommendations/optimiser/StrategicOptimiser.py index 8ffc307c..69de4085 100644 --- a/recommendations/optimiser/StrategicOptimiser.py +++ b/recommendations/optimiser/StrategicOptimiser.py @@ -85,7 +85,7 @@ class StrategicOptimiser: # min cost # subject to # - # gain >= 𝐺 + # gain >= G # cost <= B # multiple-choice constraints #