solve_constraint_programming
Solve combinatorial optimization problems with logical and numerical constraints using OR-Tools for scheduling, assignment, and constraint satisfaction.
Instructions
Solve constraint programming problems using OR-Tools.
This tool is ideal for combinatorial optimization problems, scheduling,
assignment problems, and constraint satisfaction with discrete variables.
Args:
    variables: List of variable definitions with 'name', 'type', and optional 'domain'/'shape'
    constraints: List of constraint expressions as strings
    objective: Optional objective definition with 'type' and 'expression'
    parameters: Dictionary of solver parameters
    description: Optional problem description
    
Returns:
    Solution results including variable values and feasibility status
    
Example:
    variables = [
        {"name": "x", "type": "integer", "domain": [0, 10]},
        {"name": "y", "type": "boolean"}
    ]
    constraints = [
        "x + y >= 5",
        "x - y <= 3"
    ]
    objective = {"type": "minimize", "expression": "x + y"}
Input Schema
| Name | Required | Description | Default | 
|---|---|---|---|
| constraints | Yes | ||
| description | No | ||
| objective | No | ||
| parameters | No | ||
| variables | Yes | 
Input Schema (JSON Schema)
{
  "properties": {
    "constraints": {
      "items": {
        "type": "string"
      },
      "title": "Constraints",
      "type": "array"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    },
    "objective": {
      "default": null,
      "title": "Objective",
      "type": "object"
    },
    "parameters": {
      "default": null,
      "title": "Parameters",
      "type": "object"
    },
    "variables": {
      "items": {
        "type": "object"
      },
      "title": "Variables",
      "type": "array"
    }
  },
  "required": [
    "variables",
    "constraints"
  ],
  "type": "object"
}