Skip to content

Commit

Permalink
Update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
fdabrandao committed Feb 17, 2016
1 parent cf8d2c9 commit b7e7d27
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 53 deletions.
51 changes: 26 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,8 @@ Faculdade de Ciências, Universidade do Porto
Porto, Portugal. All rights reserved. E-mail: <[email protected]>.

---
[VPSolver](https://github.com/fdabrandao/vpsolver) is a vector packing solver based on an arc-flow formulation with graph
compression. VPSolver generates very strong models (equivalent to Gilmore and
Gomory's) that can be solved using general-purpose mixed-integer programming
solvers such as Gurobi and GLPK (see, e.g., [1] and [2]). VPSolver does not explicitly require any MIP
[VPSolver](https://github.com/fdabrandao/vpsolver) is a multiple-choice vector packing solver based on an arc-flow formulation with graph compression (see, e.g., [\[1\]](#references)). VPSolver generates very strong models (equivalent to Gilmore and Gomory's) that can be solved using general-purpose mixed-integer programming
solvers such as Gurobi and GLPK (see, e.g., [\[2\]](#references) and [\[3\]](#references)). VPSolver does not explicitly require any MIP
solver in particular, though a good MIP solver may be necessary for solving
large models.

Expand Down Expand Up @@ -54,7 +52,7 @@ It has been successfully compiled and run on the following platforms:
Without the python interface:

```bash
$ ./configure
$ ./configure CXXFLAGS="" LDFLAGS=""
$ make
$ sudo make install
```
Expand Down Expand Up @@ -89,7 +87,7 @@ $ docker pull fdabrandao/vpsolver
Option 2: `clone` VPSolver and `build` locally:

```bash
$ git clone git@github.com:fdabrandao/vpsolver.git vpsolver
$ git clone https://github.com/fdabrandao/vpsolver.git vpsolver
$ docker build -t fdabrandao/vpsolver vpsolver
```

Expand Down Expand Up @@ -134,8 +132,8 @@ The Web App can then be accessed on a web browser at `http://127.0.0.1:5555/`.

## VPSolver binaries

* `$ bin/vpsolver intance.vbp`: solves a vector packing instance using the method proposed in [1]. Note: requires Gurobi 5.0.0 or superior;
* `$ bin/vbp2afg instance.vbp graph.afg`: builds an arc-flow graph `graph.afg` for `instance.vbp`;
* `$ bin/vpsolver intance.vbp/.mvp`: solves a multiple-choice vector packing instance using the method described in [\[1\]](#references). Note: requires Gurobi 5.0.0 or superior;
* `$ bin/vbp2afg instance.vbp/.mvp graph.afg`: builds an arc-flow graph `graph.afg` for `instance.vbp/.mvp`;
* `$ bin/afg2mps graph.afg model.mps`: creates a MPS model `model.mps` for `graph.afg`;
* `$ bin/afg2lp graph.afg model.lp`: creates a LP model `model.lp` for `graph.afg`;
* `$ bin/vbpsol graph.afg vars.sol`: extracts a vector packing solution from an arc-flow solution `vars.sol` associated with the graph `graph.afg`.
Expand Down Expand Up @@ -167,7 +165,7 @@ solvers:
Usage:

```bash
$ vpsolver_X.sh --vbp instance.vbp
$ vpsolver_X.sh --vbp/--mvp instance.vbp/.mvp
$ vpsolver_X.sh --afg graph.afg
$ vpsolver_X.sh --mps/--lp model.mps/.lp
$ vpsolver_X.sh --mps/--lp model.mps/.lp --afg graph.afg
Expand All @@ -177,39 +175,42 @@ $ vpsolver_X.sh --mps/--lp model.mps/.lp --afg graph.afg

* `docs/`: documentation
* `scripts/`: vpsolver scripts
* `bin/`: vpsolver executables
* `src/`: vpsolver source code in C++
* `pyvpsolver/`: pyvpsolver source code in Python
* `examples/`: vpsolver and pyvpsolver examples
* `docs/reports/`: technical reports on the underlying algorithms and models

## Reports
## References

The current solution method is described in:

* [1] Brandão, F. (2016). _VPSolver 3: Multiple-choice Vector Packing Solver._ [arXiv:1602.04876](http://arxiv.org/abs/1602.04876).

VPSolver was proposed in:

* [1] Brandão, F. and Pedroso, J. P. (2016). Bin packing and related problems: General arc-flow formulation with graph compression.
* [2] Brandão, F. and Pedroso, J. P. (2016). _Bin packing and related problems: General arc-flow formulation with graph compression._
Computers & Operations Research, 69:56 – 67.
doi: [http://dx.doi.org/10.1016/j.cor.2015.11.009](http://authors.elsevier.com/a/1SKHP15N8Rug2A).
doi: [http://dx.doi.org/10.1016/j.cor.2015.11.009](http://dx.doi.org/10.1016/j.cor.2015.11.009).

* [2] Brandão, F. and Pedroso, J. P. (2013). Bin Packing and Related Problems:
General Arc-flow Formulation with Graph Compression. Technical Report
* [3] Brandão, F. and Pedroso, J. P. (2013). _Bin Packing and Related Problems:
General Arc-flow Formulation with Graph Compression._ Technical Report
DCC-2013-08, Faculdade de Ciências da Universidade do Porto, Universidade do
Porto, Portugal.
Available at: [http://arxiv.org/abs/1310.6887](http://arxiv.org/abs/1310.6887).
Porto, Portugal. [arXiv:1310.6887](http://arxiv.org/abs/1310.6887).

See also:

* [3] Brandão, F. and Pedroso, J. P. (2013). Multiple-choice Vector Bin Packing:
Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-13,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal.
* [4] Brandão, F. and Pedroso, J. P. (2013). _Multiple-choice Vector Bin Packing:
Arc-flow Formulation with Graph Compression._ Technical Report DCC-2013-13,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal. [arXiv:1312.3836](http://arxiv.org/abs/1312.3836)

* [4] Brandão, F. and Pedroso, J. P. (2013). Cutting Stock with Binary Patterns:
Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-09,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal.
* [5] Brandão, F. and Pedroso, J. P. (2013). _Cutting Stock with Binary Patterns:
Arc-flow Formulation with Graph Compression._ Technical Report DCC-2013-09,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal. [arXiv:1502.02899](http://arxiv.org/abs/1502.02899).

* [5] Brandão, F. (2012). Bin Packing and Related Problems: Pattern-Based Approaches
* [6] Brandão, F. (2012). _Bin Packing and Related Problems: Pattern-Based Approaches._
Master’s thesis, Faculdade de Ciências da Universidade do Porto, Portugal.

* [6] Computational results on several benchmark test data sets:
* [7] Computational results on several benchmark test data sets:
http://www.dcc.fc.up.pt/~fdabrandao/research/vpsolver/results/


Expand Down
Binary file added docs/VPSolver3.pdf
Binary file not shown.
15 changes: 15 additions & 0 deletions docs/arcflow.bib
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
% http://vpsolver.dcc.fc.up.pt/
% http://www.dcc.fc.up.pt/~fdabrandao/
% https://github.com/fdabrandao/vpsolver
% https://bitbucket.org/fdabrandao/vpsolver
% http://arxiv.org/abs/1602.04876
@misc{VPSolver3,
author = {Brand\~ao, Filipe},
title = {{VPSolver 3}: {M}ultiple-choice {V}ector {P}acking {S}olver},
year = {2016},
note = {arXiv:1602.04876},
eprint = {arXiv:1602.04876},
url = {http://arxiv.org/abs/1602.04876},
}

% http://dx.doi.org/10.1016/j.cor.2015.11.009
@article{GeneralArcFlowPaper,
title = "Bin packing and related problems: General arc-flow formulation with graph compression",
Expand Down
2 changes: 1 addition & 1 deletion docs/vpsolver/Docker.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ <h3>

<p>Option 2: <code>clone</code> VPSolver and <code>build</code> locally:</p>

<div class="highlight highlight-source-shell"><pre>user@locahost <span class="pl-k">~</span>$ git clone git@github.com:fdabrandao/vpsolver.git vpsolver
<div class="highlight highlight-source-shell"><pre>user@locahost <span class="pl-k">~</span>$ git clone https://github.com/fdabrandao/vpsolver.git vpsolver
user@locahost <span class="pl-k">~</span>$ docker build -t fdabrandao/vpsolver vpsolver</pre></div>

<h3>
Expand Down
53 changes: 27 additions & 26 deletions docs/vpsolver/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,8 @@ <h2>

<hr>

<p><a href="https://github.com/fdabrandao/vpsolver">VPSolver</a> is a vector packing solver based on an arc-flow formulation with graph
compression. VPSolver generates very strong models (equivalent to Gilmore and
Gomory's) that can be solved using general-purpose mixed-integer programming
solvers such as Gurobi and GLPK (see, e.g., [1] and [2]). VPSolver does not explicitly require any MIP
<p><a href="https://github.com/fdabrandao/vpsolver">VPSolver</a> is a multiple-choice vector packing solver based on an arc-flow formulation with graph compression (see, e.g., <a href="#references">[1]</a>). VPSolver generates very strong models (equivalent to Gilmore and Gomory's) that can be solved using general-purpose mixed-integer programming
solvers such as Gurobi and GLPK (see, e.g., <a href="#references">[2]</a> and <a href="#references">[3]</a>). VPSolver does not explicitly require any MIP
solver in particular, though a good MIP solver may be necessary for solving
large models.</p>

Expand Down Expand Up @@ -135,7 +133,7 @@ <h2>

<p>Without the python interface: </p>

<div class="highlight highlight-source-shell"><pre>$ ./configure
<div class="highlight highlight-source-shell"><pre>$ ./configure CXXFLAGS=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span> LDFLAGS=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-pds">"</span></span>
$ make
$ sudo make install</pre></div>

Expand Down Expand Up @@ -169,7 +167,7 @@ <h3>

<p>Option 2: <code>clone</code> VPSolver and <code>build</code> locally:</p>

<div class="highlight highlight-source-shell"><pre>$ git clone git@github.com:fdabrandao/vpsolver.git vpsolver
<div class="highlight highlight-source-shell"><pre>$ git clone https://github.com/fdabrandao/vpsolver.git vpsolver
$ docker build -t fdabrandao/vpsolver vpsolver</pre></div>

<h3>
Expand Down Expand Up @@ -215,9 +213,9 @@ <h2>

<ul>
<li>
<code>$ bin/vpsolver intance.vbp</code>: solves a vector packing instance using the method proposed in [1]. Note: requires Gurobi 5.0.0 or superior;</li>
<code>$ bin/vpsolver intance.vbp/.mvp</code>: solves a multiple-choice vector packing instance using the method described in <a href="#references">[1]</a>. Note: requires Gurobi 5.0.0 or superior;</li>
<li>
<code>$ bin/vbp2afg instance.vbp graph.afg</code>: builds an arc-flow graph <code>graph.afg</code> for <code>instance.vbp</code>;</li>
<code>$ bin/vbp2afg instance.vbp/.mvp graph.afg</code>: builds an arc-flow graph <code>graph.afg</code> for <code>instance.vbp/.mvp</code>;</li>
<li>
<code>$ bin/afg2mps graph.afg model.mps</code>: creates a MPS model <code>model.mps</code> for <code>graph.afg</code>;</li>
<li>
Expand Down Expand Up @@ -261,7 +259,7 @@ <h2>

<p>Usage:</p>

<div class="highlight highlight-source-shell"><pre>$ vpsolver_X.sh --vbp instance.vbp
<div class="highlight highlight-source-shell"><pre>$ vpsolver_X.sh --vbp/--mvp instance.vbp/.mvp
$ vpsolver_X.sh --afg graph.afg
$ vpsolver_X.sh --mps/--lp model.mps/.lp
$ vpsolver_X.sh --mps/--lp model.mps/.lp --afg graph.afg</pre></div>
Expand All @@ -275,8 +273,6 @@ <h2>
<li>
<code>scripts/</code>: vpsolver scripts</li>
<li>
<code>bin/</code>: vpsolver executables</li>
<li>
<code>src/</code>: vpsolver source code in C++</li>
<li>
<code>pyvpsolver/</code>: pyvpsolver source code in Python</li>
Expand All @@ -287,33 +283,38 @@ <h2>
</ul>

<h2>
<a id="user-content-reports" class="anchor" href="#reports" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>Reports</h2>
<a id="user-content-references" class="anchor" href="#references" aria-hidden="true"><span aria-hidden="true" class="octicon octicon-link"></span></a>References</h2>

<p>The current solution method is described in:</p>

<ul>
<li>[1] Brandão, F. (2016). <em>VPSolver 3: Multiple-choice Vector Packing Solver.</em> <a href="http://arxiv.org/abs/1602.04876">arXiv:1602.04876</a>.</li>
</ul>

<p>VPSolver was proposed in:</p>

<ul>
<li><p>[1] Brandão, F. and Pedroso, J. P. (2016). Bin packing and related problems: General arc-flow formulation with graph compression.
<li><p>[2] Brandão, F. and Pedroso, J. P. (2016). <em>Bin packing and related problems: General arc-flow formulation with graph compression.</em>
Computers &amp; Operations Research, 69:56 – 67.<br>
doi: <a href="http://authors.elsevier.com/a/1SKHP15N8Rug2A">http://dx.doi.org/10.1016/j.cor.2015.11.009</a>.</p></li>
<li><p>[2] Brandão, F. and Pedroso, J. P. (2013). Bin Packing and Related Problems:
General Arc-flow Formulation with Graph Compression. Technical Report
doi: <a href="http://dx.doi.org/10.1016/j.cor.2015.11.009">http://dx.doi.org/10.1016/j.cor.2015.11.009</a>.</p></li>
<li><p>[3] Brandão, F. and Pedroso, J. P. (2013). <em>Bin Packing and Related Problems:
General Arc-flow Formulation with Graph Compression.</em> Technical Report
DCC-2013-08, Faculdade de Ciências da Universidade do Porto, Universidade do
Porto, Portugal.<br>
Available at: <a href="http://arxiv.org/abs/1310.6887">http://arxiv.org/abs/1310.6887</a>.</p></li>
Porto, Portugal. <a href="http://arxiv.org/abs/1310.6887">arXiv:1310.6887</a>.</p></li>
</ul>

<p>See also:</p>

<ul>
<li><p>[3] Brandão, F. and Pedroso, J. P. (2013). Multiple-choice Vector Bin Packing:
Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-13,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal.</p></li>
<li><p>[4] Brandão, F. and Pedroso, J. P. (2013). Cutting Stock with Binary Patterns:
Arc-flow Formulation with Graph Compression. Technical Report DCC-2013-09,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal.</p></li>
<li><p>[5] Brandão, F. (2012). Bin Packing and Related Problems: Pattern-Based Approaches
<li><p>[4] Brandão, F. and Pedroso, J. P. (2013). <em>Multiple-choice Vector Bin Packing:
Arc-flow Formulation with Graph Compression.</em> Technical Report DCC-2013-13,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal. <a href="http://arxiv.org/abs/1312.3836">arXiv:1312.3836</a></p></li>
<li><p>[5] Brandão, F. and Pedroso, J. P. (2013). <em>Cutting Stock with Binary Patterns:
Arc-flow Formulation with Graph Compression.</em> Technical Report DCC-2013-09,
Faculdade de Ciências da Universidade do Porto, Universidade do Porto, Portugal. <a href="http://arxiv.org/abs/1502.02899">arXiv:1502.02899</a>.</p></li>
<li><p>[6] Brandão, F. (2012). <em>Bin Packing and Related Problems: Pattern-Based Approaches.</em>
Master’s thesis, Faculdade de Ciências da Universidade do Porto, Portugal.</p></li>
<li><p>[6] Computational results on several benchmark test data sets:<br>
<li><p>[7] Computational results on several benchmark test data sets:<br>
<a href="http://www.dcc.fc.up.pt/%7Efdabrandao/research/vpsolver/results/">http://www.dcc.fc.up.pt/~fdabrandao/research/vpsolver/results/</a></p></li>
</ul>

Expand Down
Binary file modified docs/vpsolver_manual.pdf
Binary file not shown.
Binary file removed docs/vpsolver_report.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/wiki
Submodule wiki updated from 740c08 to 50627a

0 comments on commit b7e7d27

Please sign in to comment.