{"library":"ortools","title":"Google OR-Tools","description":"Google OR-Tools is an open-source, fast, and portable software suite for solving combinatorial optimization problems. It provides a comprehensive collection of solvers for linear programming, mixed-integer programming, constraint programming (CP-SAT), vehicle routing, and network flow problems. Written primarily in C++, it offers official wrappers for Python, C#, and Java. As of version 9.15.6755, the library is actively developed with frequent releases delivering new features, performance enhancements, and bug fixes across its various solvers.","language":"python","status":"active","last_verified":"Wed May 13","install":{"commands":["pip install ortools"],"cli":null},"imports":["from ortools.linear_solver import pywraplp","from ortools.sat.python import cp_model","from ortools.constraint_solver import routing_enums_pb2, pywrapcp","from ortools.init.python import init"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from ortools.linear_solver import pywraplp\n\ndef main():\n    # Create the linear solver with the GLOP backend.\n    solver = pywraplp.Solver.CreateSolver('GLOP')\n    if not solver:\n        return\n\n    # Create the variables x and y.\n    x = solver.NumVar(0, 1, 'x')\n    y = solver.NumVar(0, 2, 'y')\n\n    print('Number of variables =', solver.NumVariables())\n\n    # Define the constraints: x + y <= 2\n    solver.Add(x + y <= 2.0)\n\n    print('Number of constraints =', solver.NumConstraints())\n\n    # Define the objective function: Maximize 3 * x + y.\n    solver.Maximize(3 * x + y)\n\n    # Invoke the solver and display the results.\n    status = solver.Solve()\n\n    if status == pywraplp.Solver.OPTIMAL:\n        print('Solution:')\n        print('Objective value =', solver.Objective().Value())\n        print('x =', x.solution_value())\n        print('y =', y.solution_value())\n    else:\n        print('The problem does not have an optimal solution.')\n\n    print('\\nAdvanced statistics:')\n    print('Problem solved in %f milliseconds' % solver.wall_time())\n    print('Problem solved in %d iterations' % solver.iterations())\n\nif __name__ == '__main__':\n    main()","lang":"python","description":"This quickstart demonstrates how to solve a simple linear programming problem using the GLOP solver via the `pywraplp` wrapper. It sets up variables, defines constraints, an objective function, and then solves and prints the results.","tag":null,"tag_description":null,"last_tested":"2026-04-25","results":[{"runtime":"python:3.10-alpine","exit_code":134},{"runtime":"python:3.10-slim","exit_code":0},{"runtime":"python:3.11-alpine","exit_code":134},{"runtime":"python:3.11-slim","exit_code":0},{"runtime":"python:3.12-alpine","exit_code":134},{"runtime":"python:3.12-slim","exit_code":0},{"runtime":"python:3.13-alpine","exit_code":134},{"runtime":"python:3.13-slim","exit_code":0},{"runtime":"python:3.9-alpine","exit_code":134},{"runtime":"python:3.9-slim","exit_code":0}]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-13","installed_version":"9.15.6755","pypi_latest":"9.15.6755","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":75,"avg_install_s":9.1,"avg_import_s":0.06,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"255.7M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"ortools","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":9,"import_time_s":0.05,"mem_mb":1.1,"disk_size":"241M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.05,"mem_mb":1.1,"disk_size":"241M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"269.4M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"ortools","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.3,"import_time_s":0.07,"mem_mb":1.4,"disk_size":"254M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":1.4,"disk_size":"254M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"254.6M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"ortools","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.6,"import_time_s":0.07,"mem_mb":1.2,"disk_size":"239M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":1.2,"disk_size":"239M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"253.6M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"ortools","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":8.8,"import_time_s":0.06,"mem_mb":1.2,"disk_size":"238M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.07,"mem_mb":1.2,"disk_size":"238M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"263.5M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"ortools","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":10.8,"import_time_s":0.05,"mem_mb":1.1,"disk_size":"251M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"ortools","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":0.06,"mem_mb":1.1,"disk_size":"251M"}]}}