|
1 | 1 | Minimal Function Cache |
2 | 2 | ~~~~~~~~~~~~~~~~~~~~~~ |
| 3 | +``minimalFunctionCache`` is a optional package for ``cutgeneratingfunctiology`` which contains necessary data for using pre-computed cell descriptions of the space of continuous minimal functions with at most :math:`k` breakpoints where :math:`k=7`. This repository is in a beta state. |
3 | 4 |
|
4 | | -Minimal Function Cache is a repository containing two packages python packages ``minimalFunctionCache`` and ``parametricCutGen``. |
| 5 | +This package is based on the dissertation of Acadia Larsen. |
5 | 6 |
|
6 | | -``minimalFunctionCache`` is a optional package for ``cutgeneratingfunctiology`` which contains precomputed cell descptions of minimal functions with at most :math: `k` breakpoints where :math: `k=6`. This repository is in a beta state. |
| 7 | +Notes |
| 8 | +~~~~~ |
7 | 9 |
|
8 | | -``parametricCutGen`` is a package which implemments a single row optiomal cut selection for Mixed Integer Programs over the domain (and restricted domains) of continuous minimal functions with at most :math: `k` breakpoints. This repository is in an alpha state. |
| 10 | +- Data is written in .cvs files. |
| 11 | +- pip installable from cloned repository. |
| 12 | +- Tools to (re)generate data using a HPC. |
| 13 | +- Practical evidence for polyedral computational speed ups provided by ``pplite`` as compared to ``ppl``. |
9 | 14 |
|
10 | | -These packages are based on the disseration of Acadia Larsen. |
11 | | - |
12 | | -Included Software and Tools |
13 | | -~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
14 | | - |
15 | | -- ``minimalFunctionCache`` includes precomputed cell descriptions of minimal functions, code for generating the function cache on a HPC, and a comparison of ``ppl`` and ``pplite`` as polyhedral backends. |
16 | | - |
17 | | -- ``parametricCutGen`` is implemented to work with ``pyscipopt`` the python wrapper of ``SCIP``. This package includes a solver for cut selection problems over the domain (with possibly some constraints) of continuous minimal functions, an interface to ``pyscipopt`` and reproduceable parametric experinments for testing cut selection. |
18 | | - |
19 | | - |
20 | | -Goals and Non-Goals |
21 | | -~~~~~~~~~~~~~~~~~~~ |
22 | | - |
23 | | - - Illustrate concept of explicit optimal cut selection as a proof of concept for MIP solvers. |
24 | | - |
25 | | - - Reproducibliblity of experimental data. |
26 | | - |
27 | | - - Mathematical correctness of cut generation up to some :math: `(M,\epsilon)` parameters. |
28 | | - |
29 | | - - Demonstrate use of ``passsagemath`` in application; in particular illustrate application of cutting edge mathematics to application of MIPs. |
30 | | - |
31 | | -Non-goals |
32 | | -~~~~~~~~~ |
33 | | - |
34 | | - - Performance and code optimization; the cut generation technique presented is a proof of concept and is intended to function (for practical problem) with an excess of compute. |
35 | | - |
36 | | - - Documenation; documentation and testing is minimal. What is written is what is requried to reproduce the results for an expert user. |
| 15 | +Documentation |
| 16 | +~~~~~~~~~~~~~ |
| 17 | +Documentation is minimal as this repository is intended to be a purely optional data source for ``cutgeneratingfunctionology``. |
37 | 18 |
|
38 | 19 | Installation |
39 | 20 | ~~~~~~~~~~~~ |
@@ -64,10 +45,10 @@ Installation |
64 | 45 |
|
65 | 46 | - Start using the function cache in sagemath:: |
66 | 47 |
|
67 | | - cd .. |
68 | 48 | sage |
69 | 49 | sage: from cutgenerationfunctionology.igp import PiMinContConatiner |
70 | | - sage: MinFun_with_at_most_5_breakpoints = PiMinContConatiner(5) # loaded with the function cache! |
| 50 | + sage: Pi5 = PiMinContConatiner(5) # loaded with the function cache! |
| 51 | + sage: Pi5_cell_description = [cell for cell in Pi5.get_semialgebraic_sets()] |
71 | 52 |
|
72 | 53 | License |
73 | 54 | ~~~~~~~ |
|
0 commit comments