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)
Bus Assignment Problem (Goal Programming) - Multi-objective transportation planning
Workforce planning with multiple criteria
Project selection with competing goals
- Constraint Satisfaction (CSP)
Scheduling and timetabling problems
Configuration and assignment problems
Feasibility checking examples
By Application Domainο
- Transportation & Logistics
Bus Assignment Problem (Goal Programming) - Public transit optimization
Vehicle routing and scheduling
Supply chain optimization
- Manufacturing & Production
production_planning - Manufacturing optimization
Inventory management
Capacity planning
- Finance & Investment
portfolio_optimization - Investment allocation
Risk management
Capital budgeting
- Healthcare & Resources
Classic Diet Problem - Nutritional planning
Hospital resource allocation
Treatment scheduling
By Complexity Levelο
- Beginner π
Classic Diet Problem - Simple LP formulation
Basic production planning
Single-objective problems
- Intermediate π―
Bus Assignment Problem (Goal Programming) - Goal programming introduction
Multi-constraint problems
Database integration
- 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
- Bus Assignment - Multi-objective transportation
Public transit optimization balancing cost, service quality, and resource utilization.
Complexity: Intermediate
Concepts: Goal constraints, deviation variables
Domain: Transportation
- Portfolio Optimization - Financial planning
Investment allocation with risk management and diversification requirements.
Complexity: Advanced
Concepts: Risk modeling, correlation constraints
Domain: Finance
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ο
Choose by Interest: Select examples matching your domain
Start Simple: Begin with Diet Problem for LP basics
Progress Gradually: Move to Bus Assignment for GP concepts
Customize: Adapt examples to your specific needs
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:
Source code in
samples/directoryDocumentation in
docs/source/examples/Test cases and validation
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