Optimization Solver can be used to quickly solve large-scale linear programming (LP), mixed-integer linear programming (MILP), and convex quadratic programming (QP) problems. You can use command lines or APIs to call Optimization Solver. The APIs are C, C++, Python, and Java APIs. You can use Optimization Solver in Windows, macOS, and Linux operating systems. Sample code and cases are provided to help you use Optimization Solver. Optimization Solver is free of charge. To troubleshoot running exceptions of Optimization Solver, view the following troubleshoot methods.
Features supported by Optimization Solver
What features do Optimization Solver have?
Optimization Solver supports mathematical programming solving. LP performance of Optimization Solver is globally competitive. LP performance includes the simplex algorithm, interior point method (IPM), concurrent optimization method, and large-scale network streams. The latest Optimization Solver version can solve MILP, convex QP, and semidefinite programming (SDP) problems. LP performance and SDP performance are globally competitive.
Is mixed integer programming (MIP) solving supported?
Yes, MIP solving is supported in Optimization Solver V0.20.x and later. You can download the latest version. For more information, see Download and install the latest Optimization Solver SDK. Optimization Solver is in invitational preview, and users who join the invitational preview are limited. Performance of Optimization Solver is still being optimized.
Does Optimization Solver support other solving features?
Yes, Optimization Solver supports other solving features such as mathematical programming solving, black-box optimization, and online optimization. Mathematical programming solving will be updated in the Download and install the latest Optimization Solver SDK topic from time to time. Black-box optimization and online optimization are only for on-site support. If you want to use the two features, contact us.
System compatibility and programming languages
What programming languages does the Optimization Solver SDK support?
C, C++, Python, and Java programming languages are supported. If your desired programming language is not supported, send your requirements to us.
What operating systems does the Optimization Solver SDK support? Are Chinese operating systems supported?
Linux, Windows, and macOS operating systems are supported. Chinese operating systems such as operating systems provided by LINX SOFTWARE are also supported. If system incompatibility issues occur when you use Optimization Solver, contact us.
Does the Optimization Solver SDK support processors that adopt the Advanced RISC Machine (ARM) architecture?
No, the Optimization Solver SDK does not support processors that adopt the ARM architecture. This feature is coming soon. Stay tuned.
Performance of Optimization Solver
How about the solving accuracy of Optimization Solver?
You can use the LP component of Optimization Solver to obtain accurate answers. The error is 1e-10 or a smaller value. You can also set the solving accuracy such as 1e-6 and 1e-8 based on your business requirements.
How many problems can Optimization Solver solve? How many variables does Optimization Solver support?
Optimization Solver can solve tens of millions of problems and support more than millions of variables.
Learning materials about Optimization Solver
Are learning materials about Optimization Solver available? Optimization Solver is abstract and is not easy to use.
Yes, learning materials about Optimization Solver are available. On New Year's Day in 2021, we launched Optimization Solver on the Alibaba Cloud Tianchi platform. The platform link is https://tianchi.aliyun.com/mindopt. Free cloud-based Linux machines are provided. You can use Optimization Solver free of charge on this platform. In addition, we provide multiple case tutorials and source code choices. You can know what problems Optimization Solver can solve, mathematical modeling, and code for calling Optimization Solver. You can follow the online tutorials to perform operations step by step.
In 2022, we launched the cloud-based modeling and solving platform. The platform link is https://opt.alibabacloud.com. You can use modeling languages to create models and call Optimization Solver. The modeling languages are easy to use. We provide cases for your reference.
You are welcome to provide your suggestions about Optimization Solver learning for beginners.
Can you provide some application cases?
Yes, we can provide some application cases. Application cases are available on the cloud-based modeling and solving platform and Alibaba Cloud Tianchi platform. For more information, see the instructions at https://opt.alibabacloud.com/#/platform/ca and https://tianchi.aliyun.com/mindopt.
Installation
Optimization Solver installation is complex. How do I install Optimization Solver?
Follow the steps in the Download and install the latest Optimization Solver SDK topic to download and install Optimization Solver and configure the license file named
fl_client.ini
as prompted. By default, C and C++ APIs are installed in Optimization Solver installation packages. If Python APIs are required, install Python APIs by yourself. If Java APIs are required, add Maven repository dependencies. For more information, see Concept of Optimization Solver.The MindOpt platform is in invitational preview. The platform link is https://opt.aliyun.com. You do not need to install Optimization Solver. Open a browser, visit the notebook environment, and then run Optimization Solver by using Python programming languages or terminal command lines. You can view cases on the MindOpt platform to learn how to analyze problems and create models step by step and how to use algebraic modeling languages to define problems and call Optimization Solver. The algebraic modeling languages are easy to use.
What are environment variables used for?
When you install or uninstall Optimization Solver in Windows operating systems, the settings of environment variables named MINDOPT_HOME
and Path
are automatically modified. The two environment variables specify the installation directory of Optimization Solver. The MINDOPT_LICENSE_PATH
environment variable specifies the address where the license file is stored. You need to manually add this environment variable.
What do I do if an installation prompt indicating that the application cannot be run is displayed?
To troubleshoot this issue, perform the following steps in sequence:
1. Check whether the version of your operating system is 64-bit x86.
2. If your operating system prompts that the software fails to be run or an unknown application appears, search for a solution on the Internet to grant the required software running permissions. The solution varies based on operating systems.
3. If you are prompted that a dynamic-link library fails to be located after you install Optimization Solver, install Optimization Solver again and try again. Note that one more installation step needs to be performed for Python.
If the issue persists after you install Optimization Solver again, maybe the version of the library on which Optimization Solver depends is not the same as that of the library on which other software on your computer depends. In this case, you need to move up environment variables of Optimization Solver in your computer. For example, move up the Path environment variable of Optimization Solver in Windows operating systems.
4. If the issue persists, contact us for troubleshooting.
Solving parameter settings
What solving methods are supported? What are their differences? Which one do I need to choose?
We provide the following solving methods: simplex algorithm, IPM, and concurrent optimization method. For more information about their differences and the solving process of Optimization Solver, see the "Parameter settings for solving problems" section of the Use Optimization Solver topic. Memory usage and the solving speed vary based on solving methods. If your computing resources are insufficient, specify a solving method.
Usage and exception handling solutions
You have provided MindOpt User Manual. Which documentation should I view?
We recommend that you view the download, installation, and running methods of the software in this document library. The number of Optimization Solver APIs is large. Therefore, we will provide MindOpt User Manual on the website https://solver.damo.alibaba.com/doc/en/html/index.html for your reference. More Optimization Solver features are under development. Updated APIs will be listed on MindOpt User Manual in a timely manner.
My solving task fails. How do I check the failure cause?
You can check error codes returned by the software. For more information, see Common error codes.
Why is the software suddenly crashed during my solving?
Check whether the memory is sufficient. A large number of problems that you want to solve will consume a large amount of memory. If the issue persists, contact us for troubleshooting.
Billing
Is a free Optimization Solver version available?
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. Then, you can use the service. Optimization Solver can be used to solve LP, MILP, and convex QP problems. If this software does not meet your business requirements, contact us to put forward your requirements or consult us about a paid custom software version.
Is a paid Optimization Solver version available?
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. Then, you can use the service. Custom optimization is a paid service. If you want to use a custom software version, contact us to recommend on-site business staff.