Examples

This section provides comprehensive, real-world examples demonstrating OptiX’s capabilities across different optimization problem types and application domains.

🍎 Diet Problem

Classic Linear Programming example showcasing cost minimization with nutritional constraints. Perfect introduction to LP concepts with historical context.

View Example β†’

🚌 Bus Assignment

Advanced Goal Programming example for public transportation systems. Demonstrates multi-objective optimization with real-world complexity.

View Example β†’

🏭 Production Planning

Manufacturing optimization with resource constraints, inventory management, and multi-period planning scenarios.

View Example β†’

πŸ“ˆ Portfolio Optimization

Financial portfolio optimization with risk constraints, diversification requirements, and return maximization objectives.

View Example β†’

Example Categories

By Problem Type

Linear Programming (LP)
  • Classic Diet Problem - Cost minimization with constraints

  • production_planning - Resource allocation and planning

  • Transportation and logistics examples

Goal Programming (GP)
Constraint Satisfaction (CSP)
  • Scheduling and timetabling problems

  • Configuration and assignment problems

  • Feasibility checking examples

By Application Domain

Transportation & Logistics
Manufacturing & Production
  • production_planning - Manufacturing optimization

  • Inventory management

  • Capacity planning

Finance & Investment
  • portfolio_optimization - Investment allocation

  • Risk management

  • Capital budgeting

Healthcare & Resources

By Complexity Level

Beginner πŸ“š
Intermediate 🎯
Advanced πŸš€
  • portfolio_optimization - Complex financial modeling

  • Multi-period optimization

  • Stochastic programming

Complete Example List

Quick Example Browser

Diet Problem - Cost minimization

Classic optimization problem minimizing food costs while meeting nutritional requirements.

  • Complexity: Beginner

  • Concepts: Linear constraints, objective optimization

  • Domain: Nutrition and health

Production Planning - Resource allocation

Manufacturing optimization balancing production costs, inventory, and demand.

  • Complexity: Intermediate

  • Concepts: Multi-period planning, capacity constraints

  • Domain: Manufacturing

Example Features

Each example includes:

βœ… Complete Source Code - Fully functional implementations βœ… Mathematical Formulation - Clear problem definition βœ… Step-by-Step Explanation - Detailed implementation guide βœ… Real-World Data - Practical datasets and scenarios βœ… Solution Analysis - Results interpretation and insights βœ… Extensions - Ideas for further development βœ… Performance Tips - Optimization best practices

Getting Started

  1. Choose by Interest: Select examples matching your domain

  2. Start Simple: Begin with Diet Problem for LP basics

  3. Progress Gradually: Move to Bus Assignment for GP concepts

  4. Customize: Adapt examples to your specific needs

  5. Experiment: Try the suggested extensions and variations

Running Examples

All examples are located in the samples/ directory:

# Navigate to examples
cd samples/

# Run diet problem
poetry run python diet_problem/01_diet_problem.py

# Run bus assignment
poetry run python bus_assignment_problem/03_bus_assignment_problem.py

Common Patterns

Variable Creation

# From data objects
for product in products_db:
    problem.create_decision_variable(
        var_name=f"production_{product.name}",
        description=f"Production level for {product.name}",
        lower_bound=0,
        upper_bound=product.max_capacity
    )

Constraint Patterns

# Resource constraints
problem.create_constraint(
    variables=production_vars,
    weights=resource_consumption,
    operator=RelationalOperators.LESS_THAN_EQUAL,
    value=available_resources
)

# Demand constraints
problem.create_constraint(
    variables=[product_var],
    weights=[1],
    operator=RelationalOperators.GREATER_THAN_EQUAL,
    value=minimum_demand
)

Solution Analysis

def analyze_solution(solution, problem):
    print(f"Objective Value: {solution.objective_value}")

    for variable in problem.variables:
        value = solution.variable_values.get(variable.id, 0)
        if abs(value) > 1e-6:
            print(f"{variable.name}: {value:.2f}")

Best Practices

Problem Modeling
  • Start with simple formulations

  • Validate constraints early

  • Use meaningful variable names

  • Add comprehensive descriptions

Performance
  • Monitor problem size (variables/constraints)

  • Use appropriate variable bounds

  • Choose optimal solver for problem type

  • Profile large-scale problems

Development
  • Implement validation functions

  • Create visualization of results

  • Add sensitivity analysis

  • Document assumptions and limitations

Contributing Examples

We welcome contributions of new examples! Please ensure:

  • Complete Implementation: Working code with all dependencies

  • Clear Documentation: Problem description and solution approach

  • Real-World Relevance: Practical application scenarios

  • Educational Value: Clear learning objectives

  • Code Quality: Following project conventions

Submit examples via GitHub pull requests with:

  1. Source code in samples/ directory

  2. Documentation in docs/source/examples/

  3. Test cases and validation

  4. README with usage instructions

Tip

Learning Path: Start with Diet Problem β†’ Bus Assignment β†’ Production Planning β†’ Portfolio Optimization for a comprehensive understanding of OptiX capabilities.

Note

All examples include comprehensive error handling, input validation, and detailed output analysis to demonstrate production-ready optimization applications.

See Also

  • Quick Start Guide - Get started with basic concepts

  • ../user_guide/index - Understanding problem types and features

  • ../tutorials/index - Step-by-step learning modules

  • ../api/index - Complete API reference