This repository contains the code used in the article Extensions to Generalized Disjunctive Programming: Hierarchical Structures and First-order Logic by Hector D. Perez and Ignacio E. Grossmann.
This code base is using the Julia Language and DrWatson to make a reproducible scientific project named
Extensions-to-GDP-paper
It is authored by Hector D. Perez.
To (locally) reproduce this project, do the following:
- Download this code base. Notice that raw data are typically not included in the git-history and may need to be downloaded independently.
- Open a Julia console and do:
julia> using Pkg julia> Pkg.add("DrWatson") # install globally, for using `quickactivate` julia> Pkg.activate("path/to/this/project") julia> Pkg.instantiate()
This will install all necessary packages for you to be able to run the scripts and everything should work out of the box, including correctly finding local paths.
You may notice that most scripts start with the commands:
using DrWatson
@quickactivate "Extensions-to-GDP-paper"
which auto-activate the project and enable local path handling from DrWatson.
The graphics in this repository are made with Makie.jl and GraphPlot.jl. Note: GraphPlot should be installed from the up
branch on the fork the link given above for the network plots to work properly.
The repository uses CPLEX and BARON solvers, which should be installed as instruced in CPLEX.jl and BARON.jl, respectively.