Skip to content

Adapt Optimisation

adapt_optimisation — mvp.adapt_optimisation

Cluster: ML & Optimisation | Type: component | MCP Tools: 27

Overview

adapt_optimisation provides a curated optimisation adapter with audited backend-native extension operations. The curated tier exposes stable scipy/grid/random, metaheuristic, multi-objective, function registry, result, and advisory operations; the native tier exposes selected backend-native capabilities through explicit MCP operations with schemas, allowlists, resource bounds, safety guards, capability discovery, and normalised degradation reporting. It is not a full unrestricted adapter over SciPy, pyMetaheuristic, or pyMultiobjective.

Launch caveat

adapt_optimisation is a numerical optimisation utility, not a domain workflow by itself. It is most useful when a recipe, agent, or user has already translated the business problem into an objective function, bounds, and constraints. For non-technical users, prefer workflow templates or job agents that frame the optimisation problem in domain language, then call this component under the hood.

When to use:

  • Minimising objective functions with scipy or metaheuristic solvers
  • Hyperparameter tuning via grid, random, or population-based search
  • Benchmarking optimisation methods against standard test functions
  • Solving a domain problem after a workflow has expressed the target as a measurable objective

Example:

from mvp.adapt_optimisation import AdaptOptimisationBlock, OptimisationInput

block = AdaptOptimisationBlock(name="opt")
result = block.infer(OptimisationInput(fn_name="sphere", bounds=[[-5, 5], [-5, 5]]))
# result.ok → True; result.value → OptimisationOutput with x_opt and f_opt

Works well with: adapt_pygad, adapt_sklearn, formal_methods

Public API

AdaptOptimisationBlock(AIBlock[OptimisationInput, OptimisationOutput, None])

Wraps scipy.optimize.minimize (if available) with a grid-search fallback,

Field Type Default
name str 'adapt_optimisation'
resource_bounds ResourceBounds \| None None
usage ResourceUsage field(default_factory=ResourceUsage)
agentic_planner OptimisationPlanner \| None None

Methods:

infer(data: OptimisationInput) -> Result[OptimisationOutput]

bias() -> dict

OptimisationInput(BaseModel)

Input to AdaptOptimisationBlock.

Field Type Default
op Literal['solve', 'optimise', 'optimize', 'info', 'recommend'] 'solve'
fn_name str 'sphere'
bounds list[list[float]] Field(default_factory=lambda: [[-1.0, 1.0]])
method Literal['scipy', 'grid'] 'scipy'
max_evals int 200
minimize bool True
n_objectives int 1
multimodal_hint bool False
expression str ''
pts_per_dim int 0
run_mode str 'beta'
reviewer_signature str ''

OptimisationOutput(BaseModel)

Output from AdaptOptimisationBlock.

Field Type Default
x_opt list[float] Field(default_factory=list)
f_opt float 0.0
n_evals int 0
converged bool False
method str ''
fn_name str ''
degraded bool False
degradation_reason str ''
solver_rationale str ''
convergence_tolerance float 0.0
constraint_violations list[str] Field(default_factory=list)
backend_used str ''
fallback_reason str ''
seed int \| None None
acceptance Literal['acceptable', 'incomplete', 'degraded', 'infeasible'] 'acceptable'
ranked_algorithms list[str] Field(default_factory=list)
recommendation_rationale str ''
eligible_algorithms list[str] Field(default_factory=list)
agentic_evidence dict Field(default_factory=dict)
requires_fallback bool False
diverged_from_floor bool False
deterministic_floor_rank list[str] Field(default_factory=list)
completion_state str ''

Methods:

optimal_x() -> list[float]

Backward-compatible alias used by older job recipes.

optimal_f() -> float

Backward-compatible alias used by older job recipes.

AdaptOptimisationMCPBlock(AIBlock[MCPOptimisationInput, MCPOptimisationOutput, dict])

Field Type Default
name str 'adapt_optimisation_mcp'
db_path str ':memory:'
resource_bounds ResourceBounds \| None None
usage ResourceUsage field(default_factory=ResourceUsage)
state dict field(default_factory=dict)

Methods:

infer(data: MCPOptimisationInput) -> Result[MCPOptimisationOutput]

MCPOptimisationInput(BaseModel)

Field Type Default
op Literal['run_scipy', 'run_grid', 'run_random', 'run_pso', 'run_ga', 'run_de', 'run_sa', 'run_gwo', 'run_whale', 'run_firefly', 'run_nsga2', 'run_nsga3', 'run_moead', 'fn_register', 'fn_list', 'fn_evaluate', 'result_list', 'result_compare', 'result_delete', 'native_capability_info', 'native_describe_method', 'native_validate_problem', 'native_run_method', 'native_result_schema', 'get_info', 'recommend_algo', 'list_patterns'] required
fn_name str 'sphere'
fn_names_json str '[]'
bounds list[list[float]] Field(default_factory=lambda: [[-5.0, 5.0], [-5.0, 5.0]])
minimize bool True
max_evals int 500
n_samples int 200
seed int -1
x0_json str '[]'
scipy_method str 'lbfgsb'
pts_per_dim int 0
iterations int 200
population_size int 50
swarm_size int 50
w float 0.9
c1 float 2.0
c2 float 2.0
mutation_rate float 0.1
F float 0.9
Cr float 0.5
initial_temp float 1.0
final_temp float 0.0001
alpha float 0.9
pack_size int 10
n_fireflies int 25
ff_alpha float 0.5
beta float 1.0
gamma float 1.0
n_reference_points int 10
n_neighbors int 5
generations int 100
expression str ''
x_json str '[]'
notes str ''
run_ids_json str '[]'
run_id str ''
limit int 20
algorithm str ''
request_id str ''
task_id str ''
native_backend str ''
native_action str ''
native_method str ''
native_options dict[str, Any] Field(default_factory=dict)
native_bounds list[list[float]] Field(default_factory=list)
max_iterations int 1000
max_evaluations int 10000
allow_fallback bool False
timeout_sec float 0.0
stall_patience int 30
stall_tol float 1e-08
max_pareto_size int 100
run_mode str 'beta'
reviewer_signature str ''

MCPOptimisationOutput(BaseModel)

Field Type Default
op str required
ok bool True
message str ''
run_id str ''
algorithm str ''
fn_name str ''
x_opt list[float] Field(default_factory=list)
f_opt float 0.0
n_evals int 0
converged bool False
runtime_ms float 0.0
pareto_front list[dict] Field(default_factory=list)
runs list[dict] Field(default_factory=list)
functions list[dict] Field(default_factory=list)
value float 0.0
metadata dict Field(default_factory=dict)
count int 0
degraded bool False
degradation_reason str ''
completion_state Literal['verified', 'qualified-draft', 'blocked-escalated'] 'qualified-draft'
warning_card dict Field(default_factory=dict)
evidence list[dict] Field(default_factory=list)
request_id str ''
task_id str ''
backend_requested str ''
backend_used str ''
fallback_used bool False
fallback_reason str ''
acceptance str 'accepted'

MCP Tools

Operation Source
run_scipy optimisation_mcp
run_grid optimisation_mcp
run_random optimisation_mcp
run_pso optimisation_mcp
run_ga optimisation_mcp
run_de optimisation_mcp
run_sa optimisation_mcp
run_gwo optimisation_mcp
run_whale optimisation_mcp
run_firefly optimisation_mcp
run_nsga2 optimisation_mcp
run_nsga3 optimisation_mcp
run_moead optimisation_mcp
fn_register optimisation_mcp
fn_list optimisation_mcp
fn_evaluate optimisation_mcp
result_list optimisation_mcp
result_compare optimisation_mcp
result_delete optimisation_mcp
native_capability_info optimisation_mcp
native_describe_method optimisation_mcp
native_validate_problem optimisation_mcp
native_run_method optimisation_mcp
native_result_schema optimisation_mcp
get_info optimisation_mcp
recommend_algo optimisation_mcp
list_patterns optimisation_mcp