Projects
Independent Development of General Optimization Solver
Independent Development of General Optimization Solver
Project Leader:
- Xiaodong, Luo
Significance of the project:
- The optimization software/solver is one of the core technologies necessary for numerous modern science and management fields.
- It serves as an engine for optimizing the industrial and supply chain, providing intelligent decision-making for complicated production scenarios. It can offer the best approach for upgrading the country's infrastructure construction level and military strategic resource scheduling and deployment.
- The extensive applications and demands involve but are not limited to finance, energy, manufacturing, communication, defense, transportation, and healthcare.
Current state of the industry/pain points:
- The current top 3 commercial optimization solvers, Gurobi, CPLEX (IBM), and Xpress (FICO), all come from the United States. In contrast, the development of solvers in China has just started in recent years, lagging behind the United States and Europe by decades.
- Although the solving speed of Chinese LP solvers may rival the current best commercial solvers, those solvers still underperform in several fields, such as mixed-integer optimization and non-convex nonlinear optimization.
- Currently, China lacks experts in optimization modeling fields, and the overall technologies in optimization are less advanced.
- Huawei, JD.com, Xiaomi, and many other technology companies, are undergoing large-scale technological upgrades and transformations. They urgently look for a new user-friendly, domestically-developed solver to achieve a breakthrough. To this end, such solver’s performance should approach or even catch up with those of the traditional Western solvers that have dominated the market and industry for years.
Project goal:
- Develop advanced commercial solvers with independent intellectual property rights in China. Approach or even catch up with the traditional Western solvers that have dominated for years.
- Acquire competitiveness and dominance in this field, and break the oligopoly of the three commercial solvers.
- Collaborate with the industry and academia, compete with and complement Cardinal Operations Co., Ltd., and promote industrial progress. Train future technical experts, and solve industry development problems (especially in the communication area).
Team composition:
- In the first stage, the project plans to introduce five C++ developers, including two algorithm engineers and three support staff. The whole team size is around eight people.
- Currently, the team has four core members and three participants. A new core member is in the process of signing the contract. As the project progresses, the team will gradually expand and recruit new experts according to the needs.
- The team composition has introduced diversity in terms of various ages, the combination of industry and academia, and the cross-discipline combination.
Research and development plan:
The project’s first stage has already started. The research & development tasks for the next few steps are as follows, subject to adjustments based on specific progress.
- Initial stage (1.5 years):
Develop basic LP/MIP solvers, a simplex method LP solver, and an interior-point method LP solver. Establish a good start in MILP, and compete with SCIP/COINOR (CBC). Build up 40% of the necessary functions for commercialization.
- Second stage (2 years):
Productization stage. Continuously improve the basic LP/MIP solvers. Specifically, make MILP solvers surpass SCIP/COIN CBC or can compete with commercial solvers. Develop 80% of the necessary functions for commercialization. Parallelize and stabilize the solver. Begin to apply the solver to private projects, and the team size will grow to 12.
- Third stage (2 years):
Commercialization stage. Bring the product to the market. Complete the development of 98% of the necessary functions for commercialization. Add MINLP (QP/QCQP, convex and non-convex problems). Review all details of the source code library, and look for opportunities to apply AI to improve the algorithm. The team will grow to 15-20 people.