Unified Solver Execution Service for Multi-Algorithm Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current optimization solvers pose significant challenges for developers and data scientists, including time-consuming solver selection, infrastructure management, and vendor lock-in, which hinder the evaluation of different solver options and increase project timelines or lead to abandonment of optimization projects.

Innovation Solution

A solver execution service that allows users to easily define and solve large-scale mathematical optimization problems using multiple optimization solvers without infrastructure management, providing a unified interface, scalable computing resources, and enabling experimentation with various solvers to find the best solution based on user requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If developers implement a solver execution environment for a particular solver, then the solver can be executed efficiently, but the infrastructure requirements and complexity increase

Engineering Contradiction:
Improvesolver execution efficiencyVSAvoidinfrastructure requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a solver execution service as an intermediary layer between the optimization application and the compute resources. This service manages solver executions, handles resource allocation, and provides a unified interface for running multiple solver types. By using this intermediary, developers can execute solvers efficiently without directly managing the complex infrastructure, as the service abstracts away the underlying compute resource management and solver-specific execution details.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers spend time choosing and benchmarking the right solver for a use-case, then the optimization performance improves, but the project timeline increases

Engineering Contradiction:
Improveoptimization performanceVSAvoidproject timeline
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The solver execution service provides a universal interface that supports multiple types of optimization solvers (e.g., linear programming, mixed-integer programming, quadratic programming) through a single unified system. This multi-functionality allows developers to experiment with different solver types without implementing separate execution environments for each, thereby maintaining the ability to find the optimal solver for their use-case while significantly reducing the time required for setup and benchmarking.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Productivity

If a specific optimization solver is used, then the solver can be optimized for that use-case, but vendor lock-in occurs making it difficult to switch solvers

Engineering Contradiction:
Improvesolver optimization efficiencyVSAvoidsolver switching capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the solver execution system into distinct modular components: the solver execution service, multiple independent solver engines, and compute resources. Each solver type is implemented as a separate module that can be independently selected and executed. This segmentation allows the system to be optimized for specific solver types when needed while maintaining the flexibility to switch between different solver modules without redesigning the entire system, thereby eliminating vendor lock-in.

Inventive Principle:
Principle #1Segmentation

4Reliability

If developers implement separate execution environments for different solver types, then each solver can run with its optimal configuration, but the integration effort and complexity increase

Engineering Contradiction:
Improvesolver configuration optimizationVSAvoidintegration effort
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the execution environments for multiple solver types into a single unified solver execution service. This service provides a common interface and shared infrastructure that supports multiple solver types (linear programming, mixed-integer programming, quadratic programming, etc.) simultaneously. By combining what would otherwise be separate execution environments into one integrated service, the system maintains the ability to configure each solver type optimally while dramatically reducing the overall integration effort and complexity for developers.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240112067A1Managed solver execution using different solver types
Publication Date: 2024.04.04 AMAZON TECH INC
  • US20240112067A1 patent drawing
  • US20240112067A1 patent drawing
  • US20240112067A1 patent drawing

AI summary

A multitenant solver execution service provides managed infrastructure for defining and solving large-scale optimization problems. In embodiments, the service executes solver jobs on managed compute resources such as virtual machines or containers. The compute resources can be automatically scaled up or down based on client demand and are assigned to solver jobs in a serverless manner. Solver jobs can be initiated based on configured triggers. In embodiments, the service allows users to select from different types of solvers, mix different solvers in a solver job, and translate a model from one solver to another solver. In embodiments, the service provides developer interfaces to, for example, run solver experiments, recommend solver types or solver settings, and suggest model templates. The solver execution service relieves developers from having to manage infrastructure for running optimization solvers and allows developers to easily work with different types of solvers via a unified interface.