Mixed-Integer Optimization Toolbox for Space Logistics and Mission Planning in Python
To build the environment and use the code in this repository, you will need to have the following installed:
poetryfor dependency management (seedocs/poetry_installation.md)- optimization solvers of your choice (Gurobi, BARON, CPLEX, IPOPT, SCIP, etc. See
docs/ipopt_installation.mdfor IPOPT instructions.) - anaconda/miniconda (optional but recommended for managing Python environments)
With conda, run:
conda create -n slpy python=3.11.2
conda activate slpy
poetry installIf virtualenv or similar is preferred, run poetry install in the newly created virtual environment with python version 3.11.2 or later.
Optimization problems are modelled using pyomo in the current version.
Run tests to ensure that the package works correctly after installation:
pytestOn Linux, the legacy version lets you use pygmo and its compatible solvers for continuous nonlinear programming (NLP) problems.
To install the dependency for this legacy version, run the poetry command with -E legacy flag:
poetry install -E legacyA separate set of tests for the legacy version can be run with:
pytest -m legacyThis version is unsupported on other platforms.
- (When using it for the first time) Set up the
slpyenvironment by installing the packages. - Execute
src/run.pyin theslpyenvironment (after changing any parameters in it as needed). - Check the output .csv file in the
data/opt_resultsfor results.
conda activate slpy
python src/run.pyIf you use or modify this code base to generate results for a publication, please cite at least one of the corresponding papers listed below:
@article{isaji_2022_int_space_logistics_decomp,
title = {Multidisciplinary Design Optimization Approach to Integrated Space Mission Planning and Spacecraft Design},
author = {Isaji, Masafumi and Takubo, Yuji and Ho, Koki},
year = {2022},
month = sep,
journal = {Journal of Spacecraft and Rockets},
publisher = {{American Institute of Aeronautics and Astronautics}},
volume = {59},
number = {5},
pages = {1660--1670},
doi = {10.2514/1.A35284},
issn = {0022-4650},
}
@inproceedings{isaji_2021_int_space_ascend,
title = {Multidisciplinary Design Optimization Approach to Integrated Space Mission Planning and Spacecraft Design},
author = {Isaji, Masafumi and Takubo, Yuji and Ho, Koki},
year = {2021},
month = nov,
booktitle = {AIAA ASCEND 2021},
publisher = {American Institute of Aeronautics and Astronautics},
address = {Las Vegas, NV},
doi = {10.2514/6.2021-4069},
}
@inproceedings{isaji_2024_int_space_uncertain,
title = {Integrated Space Mission Planning Under Uncertainty via Stochastic and Decomposition-Based Optimization},
author = {Masafumi Isaji and Koki Ho},
year = {2024},
month = jul,
booktitle = {AIAA Aviation Forum and ASCEND 2024},
publisher = {American Institute of Aeronautics and Astronautics},
address = {Las Vegas, NV},
doi = {10.2514/6.2024-4816},
}This material is based upon work supported by the National Science Foundation under Award No. 1942559. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.