# Introduction to Cardinal Optimizer

Cardinal Optimizer is a high-performance mathematical programming solver for efficiently solving large-scale optimization problem. This documentation provides basic introduction to the Cardinal Optimizer, including:

We suggest that all users to read the first two sections carefully before using the Cardinal Optimizer.

Once the installation and license setup are done, we recommend users who want to do a quick experiment on the Cardinal Optimizer to read the COPT Interactive Shell chapter for details. Users who already have preferred programming language can select from available `Application Programming Interfaces (APIs)`, including:

## Overview

Cardinal Optimizer supports solving Linear Programming (LP) problems, Second-Order-Cone Programming (SOCP) problems, Convex Quadratic Programming (QP) problems, Convex Quadratically Constrained Programming (QCP) problems, Semidefinite Programming problems (SDP) and Mixed Integer Programming (MIP) problems, which include Mixed Integer Linear Programming (MILP), Mixed Integer Second-Order-Cone Programming (MISOCP), Mixed Integer Convex Quadratic Programming (MIQP), Mixed Integer Convex Quadratically Constrained Programming (MIQCP).

We will support more problem types in the future. The supported problem types and available algorithms are summarized in Table 22

 Problem type Available algorithms Linear Programming (LP) Dual simplex; Barrier; First-Order Method Second-Order-Cone Programming (SOCP) Barrier Exponential Cone Programming (ExpCone) Barrier Convex Quadratic Programming (QP) Barrier Convex Quadratically Constrained Programming (QCP) Barrier Semidefinite Programming (SDP) Barrier; ADMM Mixed Integer Linear Programming (MILP) Branch-and-Cut Mixed Integer Second-Order-Cone Programming (MISOCP) Branch-and-Cut Mixed Integer Convex Quadratic Programming (MIQP) Branch-and-Cut Mixed Integer Convex Quadratically Constrained Programming (MIQCP) Branch-and-Cut

Cardinal Optimizer supports all major 64-bit operating systems including Windows, Linux (including ARM64 platform) and MacOS (including ARM64 platform), and currently provides programming interfaces shown below:

• C interface

• C++ interface

• C# interface

• Java interface

• Python interface

• AMPL interface

• AIMMS interface

• Pyomo interface

• PuLP interface

• CVXPY interface

• GAMS interface

• Julia interface

We are going to develop more programming interfaces to suit various needs of users and situations.

Detail

It is tied to personal computers by username. Only approved user can run COPT on his devices. No limitations on CPU cores and threads.

It is tied to a single server computer by its hardware info (MAC and CPUID). An arbitrary number of users and programs can run COPT simultaneously. No limitations on CPU cores as well.

It is tied to a server machine running COPT floating token service, by its hardware info (MAC and CPUID). Any COPT floating client connected to server can borrow and use the floating license, thus run one process for optimization jobs simultaneously. The token number is max number of clients who can use floating licenses simultaneously.

It is tied to a server machine running COPT compute cluster service, by its hardware info (MAC and CPUID). Any COPT compute cluster client connected to server can offload optimization computations. That is, clients are allowed to do modelling locally, execute optimization jobs remotely, and then obtain results interactively. Although server can have multiple clients connected, each connection must run optimization jobs sequentially. No limitations on CPU cores.

## How to Cite

• We used COPT [1] in our project.

• To solve the integer problem, we used Cardinal Optimizer [1].

with the following entry in the Reference section:

```[1] D. Ge, Q. Huangfu, Z. Wang, J. Wu and Y. Ye. Cardinal Optimizer (COPT) user guide. https://guide.coap.online/copt/en-doc, 2023.
```

The corresponding BiBTeX citation is:

```@misc{copt,
author={Dongdong Ge and Qi Huangfu and Zizhuo Wang and Jian Wu and Yinyu Ye},
title={Cardinal {O}ptimizer {(COPT)} user guide},
howpublished={https://guide.coap.online/copt/en-doc},
year=2023
}
```

## Contact Information

Cardinal Optimizer is developed by Cardinal Operations, users who want any further help can contact us using information provided in Table 4

 Type Information Description Website https://www.shanshu.ai/ Phone 400-680-5680 Email coptsales@shanshu.ai business support Email coptsupport@shanshu.ai technical support