# LEAVES

## Introduction

LEAVES is an open-source platform that provide mathematical programming solvers, machine learning tools(LEMO), and the access to a bunch of commercial applications (LAOR). So far, its mathematical solvers support the solution of Linear Programming, Semi-Definite Programming, Geometric Programming, Linearly Constrained Convex Programming, etc.

Currently, COAP only offers COPL-LP (one of the solvers on LEAVES) for the solution of Linear Programming, and an MPS file is required. To customize solver behaviors, an SPC (specification) file should be specified. The file has relatively free format, each line of the file defines only one parameter with a `Keyword : Value`

pair. Lines beginning with "*" are treated as comments.

## Parameters

Parameter Name | Description | Default |
---|---|---|

complementarity_tolerance | Define the complementarity tolerance. | 1.0e-12 |

cross_over_switch | Request that cross-over procedure be performed (on) or notperformed (off) | off |

dense_column_threshold | Define the dense column threshold value. Each columnis treated as a dense column if the number of non-zeros in this column is greater orequal to the specified threshold value. | 150 |

infeasible_tolerance | Define the infeasibility tolerance. This value is used todeclare infeasibility of the problem. | 1.0e-8 |

iteration_limit | An upper limit of the number of iterations. | 500 |

lower_bound_default | The default value of lower bound. | 0 |

upper_bound_default | The default value of upper bound. | 1.0e30 |

nonzero_tolerance | An element is treated as zero if the absolute value of theelement is less this value. | 1.0e-12 |

number_of_columns | This value is used to set the maximum number of thevariables or columns in an LP problem. | 100000 |

number_of_elements | This value is used to set the maximum number ofnonzero constraint coefficients in an LP problem. | 500000 |

optimization_type | optimization direction, min/max | min |

pcg_starting_tolerance | The system will start a pre-conditioned conjugategradient process to improve accuracy of the solution of the K-K-T linear equationsystem, if the residual of the system is less than the specified value. | 1.0e-10 |

pivoting_tolerance | If a diagonal element of the symmetric matrix to be factorized is less than the setting value, the diagonal element is considered to be zero. | 1.0e-14 |

presolve_level | Define the level of presolving. There are 6 possible levels (level 0 - 5)which can be set by users. Here0: no presolving is performed.1: dependent rows, null and fixed columns.2: singleton rows, forcing rows, doubletonrows, dominated rows.3: dominated columns.4: duplicate rows.5: duplicate columns. | 5 |

presolve_loop | After one loop reduction is done, further reduction is possible. Thus, presolving procedure may run more than one loop. The system will quit the presolvingif no further reduction is possible or the number of presolving loops exceeds the settingloop value. | 10 |

primal_dual_gap_tolerance | Define the relative primal dual gap tolerance. | 1.0e-8 |

primal_feasible_tolerance | Define the relative primal feasibility tolerance. | 1.0e-8 |

dual_feasible_tolerance | Define the relative dual feasibility tolerance. | 1.0e-8 |

step_factor | Set the step size factor(gamma), which should be real number in (0; 1). | 0.99995 |

## Examples of Usage

```
cross_over_switch : on
iteration_limit : 100
primal_dual_gap_tolerance : 1.0e-6
optimization_type : max
```

2

3

4

← DSDP LSTECH_MAPLE →