Optimization Solver handles large-scale linear programming (LP), mixed-integer linear programming (MILP), convex quadratic programming (QP), and semidefinite programming (SDP) problems. Call it from the command line or through the C, C++, Python, or Java APIs on Windows, macOS, and Linux. All released versions are free of charge.
Features
What problem types does Optimization Solver support?
Optimization Solver supports LP, MILP, QP, and SDP. LP and SDP performance are globally competitive. LP solving includes the simplex algorithm, interior point method (IPM), concurrent optimization method, and large-scale network streams.
Mixed-integer programming (MIP) solving is available in v0.20.x and later. Optimization Solver is currently in invitational preview and performance is still being optimized.
Does Optimization Solver support black-box optimization or online optimization?
Yes, but both are available through on-site support only. To request access, contact us.
Mathematical programming solving updates are published periodically in the Download and install the latest Optimization Solver SDK topic.
System compatibility
What operating systems and programming languages does the SDK support?
Operating systems
| Operating system | Notes |
|---|---|
| Linux | Supported |
| Windows | Supported |
| macOS | Supported |
| Chinese OS (e.g., LINX SOFTWARE) | Supported |
| ARM architecture | Not supported (coming soon) |
Programming languages
| Language | Notes |
|---|---|
| C | Installed by default |
| C++ | Installed by default |
| Python | Install separately after SDK installation |
| Java | Add Maven repository dependencies |
If you encounter compatibility issues, contact us.
Performance
What is the solving accuracy?
The LP solver achieves an error of 1e-10 or smaller by default. You can also set custom accuracy thresholds such as 1e-6 or 1e-8 to match your business requirements.
How many problems and variables does Optimization Solver support?
Optimization Solver can handle tens of millions of problems and supports more than millions of variables.
Learning resources
Where can I find tutorials and sample code?
Two platforms provide hands-on resources:
[Alibaba Cloud Tianchi](https://tianchi.aliyun.com/mindopt) — launched on New Year's Day in 2021, provides free cloud-based Linux machines, case tutorials, and source code. Work through the tutorials step by step to understand problem modeling and how to call Optimization Solver.
[MindOpt platform](https://opt.alibabacloud.com) — launched in 2022, provides a browser-based notebook environment. Use algebraic modeling languages to define and solve problems without local setup. Application cases are available at opt.alibabacloud.com/#/platform/case.
Can you share your suggestions for beginner learning materials?
Yes — send your suggestions. The team welcomes feedback on what would help engineers get started faster.
Installation
How do I install Optimization Solver?
Follow the steps in Download and install the latest Optimization Solver SDK to download, install, and configure the license file (fl_client.ini).
C and C++ APIs are included in the installation package by default.
For Python APIs, run the Python-specific installation step after the base installation.
For Java APIs, add the Maven repository dependency to your project.
Alternatively, use the browser-based MindOpt platform (currently in invitational preview; platform link: https://opt.aliyun.com) — no local installation needed. Open the notebook environment and run Optimization Solver directly through Python or terminal commands.
For a walkthrough of the installation and key concepts, see Concept of Optimization Solver.
What are the Windows environment variables for?
The installer automatically sets MINDOPT_HOME and Path to the Optimization Solver installation directory. You must manually add MINDOPT_LICENSE_PATH to point to the directory that contains your license file (fl_client.ini).
The installer says the application cannot be run. What should I do?
Work through these steps in order:
Confirm your operating system is 64-bit x86.
If Windows flags the software as unknown, grant it the required execution permissions through your OS security settings.
If a dynamic-link library (DLL) is not found after installation, reinstall Optimization Solver. Note that Python requires an additional installation step.
If the issue persists after reinstalling, a library version conflict may exist between Optimization Solver and other software on your machine. Move the Optimization Solver
Pathenvironment variable higher in your Windows environment variable list so that it takes priority.If none of the above resolves the issue, contact us.
Solving
Which solving method should I use?
Optimization Solver provides three methods — simplex algorithm, IPM, and concurrent optimization — each with a different trade-off between memory usage and speed. If your computing resources are limited, specify a method explicitly rather than relying on the default. See the Parameter settings for solving problems section for details on when to use each method.
Errors and troubleshooting
My solving task failed. How do I find out why?
Check the error code returned by the solver. See Common error codes for descriptions and resolution steps.
The software crashed during solving. What should I do?
This is usually caused by insufficient memory — large problems consume significant RAM. Free up memory or move the workload to a machine with more RAM, then retry. If the crash persists, contact us.
Which documentation should I use — this doc library or MindOpt User Manual?
Use this doc library for download, installation, and getting started. For complete API reference and advanced features, see the MindOpt User Manual, which is updated as new APIs become available.
Billing
Is Optimization Solver free?
All released software versions are free of charge. You can purchase the software service on the Optimization Solver console by using your Alibaba Cloud account.
Custom optimization is a paid service. To discuss a custom version, contact us to recommend on-site business staff.