Multi-tenant Solver Execution Service for Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current optimization solvers pose significant challenges to 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 with a unified interface, providing scalable and secure computing resources without upfront infrastructure costs, and enabling experimentation with various solvers to find the best solution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers implement a solver execution environment for the solver, then the solver can be executed, but it requires significant time and infrastructure effort

Engineering Contradiction:
Improvesolver execution capabilityVSAvoidtime to implement solver environment
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The cloud platform automatically provisions and manages solver execution environments, eliminating the need for developers to manually implement infrastructure. The system self-configures compute resources, container environments, and solver installations based on job requirements, allowing developers to focus solely on submitting optimization jobs without environmental setup overhead

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent introduces a cloud-based solver execution service as an intermediary between the developer's optimization model and the actual solver execution. This service abstracts away the complexity of solver environment implementation by providing a managed platform that handles container orchestration, resource allocation, and solver installation, thereby reducing developer effort while maintaining execution reliability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If developers benchmark multiple solvers for a particular use-case, then the best solver can be identified, but it adds months to project timelines

Engineering Contradiction:
Improvesolver performance evaluationVSAvoidproject timeline
Core Design Contradiction:
Measurement precisionVSDuration of action of moving object

Solution Approach 1:

The cloud platform pre-configures multiple solver environments and makes them immediately available for benchmarking. By having solvers pre-installed and pre-configured in the cloud infrastructure, the system eliminates the time required for local setup and installation, allowing developers to start benchmarking immediately upon job submission without adding months to project timelines

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a universal benchmarking platform that can execute multiple different solvers simultaneously on the same hardware infrastructure. This multi-functional system allows comparison of various solver types (MIP, LP, QP, MINLP) using a unified interface, enabling comprehensive performance evaluation without requiring separate infrastructure for each solver, thereby compressing the benchmarking timeline

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

3Productivity

If developers choose a specific vendor's solver, then optimization can be performed, but vendor lock-in makes it difficult to switch or experiment with other solvers

Engineering Contradiction:
Improveoptimization executionVSAvoidsolver switching capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The cloud-based solver execution service provides a universal interface that supports multiple solver vendors and types through a single platform. Developers can submit optimization jobs using a standardized API that automatically routes to appropriate solvers (Gurobi, CPLEX, Xpress, SCIP, GLPK) without requiring vendor-specific code, enabling both immediate optimization execution and easy switching between solvers by simply changing configuration parameters

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

Solution Approach 2:

The patent introduces a cloud execution service as an intermediary layer between the developer's optimization model and various solver vendors. This service abstracts vendor-specific details and provides a unified interface, allowing developers to execute optimization with any solver without direct vendor lock-in. The intermediary handles solver selection, parameter translation, and result normalization, thereby maintaining productivity while enabling solver versatility

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If developers spend time choosing the right solver, then the optimal solver can be selected, but it delays project initiation

Engineering Contradiction:
Improvesolver selection accuracyVSAvoidtime to select solver
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The cloud platform acts as an intermediary that provides developer-accessible benchmarking data and performance metrics for multiple solvers. This service mediates the solver selection process by offering pre-collected performance information, usage examples, and comparison tools, allowing developers to make informed decisions quickly without extensive independent research, thereby reducing selection time while maintaining selection accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240111831A1Multi-tenant solver execution service
Publication Date: 2024.04.04 AMAZON TECH INC
  • US20240111831A1 patent drawing
  • US20240111831A1 patent drawing
  • US20240111831A1 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.