Knapsack problem-based Decomposition Algorithm (KDA)
This repository contains the code for solving phamaceutical R&D pipeline clinical trial planning problem using Knapsack problem-based Decomposition Algorithm (KDA) and the data to replicate the results of
Christian, B., & Cremaschi, S. (2017).
Variants to a knapsack decomposition heuristic for solving R&D pipeline management problems.
Computers & Chemical Engineering, 96, 18-32.
Please note that Core is a work-in-progress. The current version as of June 04, 2018 has been copied into this repository for result reproducibility. An up-to-date version can be found at the public repo https://github.com/CremaschiLab/KDA_RD-pipeline
###1. Clone file to obtain a copy of the source code
###2. How to run algorithm
The command line: python Solver.py solve-method=X data-file=Y Z
Example: python Solver.py solve-method=MSSP data-file=modeldata.dat min_solve
Please note that you will need to have Pyomo 4.2.10784 (http://www.pyomo.org/) and CPLEX 12.5.1.0 (as the solver) installed before you run it.
X: speficies the approach that is used to solve the problem. Option MSSP generates the determinisitic equivalent of the multistage stochastic programming (MSSP) model and solves it using CPLEX. Option KDA uses the knapsack-problem based decomposition approach to solve the problem.
- Option 1: MSSP
- Option 2: KDA
Y: specifies the test data file, which is included in the Problem Files in this repository. The test data files include the parameter values of instances that were solved.
- Option 1: modeldata.data
- Option 2: modeldata3.data
- Option 3: modeldata4.data
... - (All test data files can be found in Problem Files)
- Input details can be found in:
Christian, B., & Cremaschi, S. (2017).
Variants to a knapsack decomposition heuristic for solving R&D pipeline management problems.
Computers & Chemical Engineering, 96, 18-32.
- Input details can be found in:
Z: speficies the approach to be used in KDA for generating knapsack sub-problems. The default option is min_solve, which generates knapsack sub-problems after each realization. Option max_solve generates knapsack sub-problems at time periods where theyre are no active clinical trials (or projects). Option greedy generates knapsack sub-problems at every time period.
- Option 1: min_solve
- Option 2: max_solve
- Option 3: greedy
- Details of different approaches can be found in:
Christian, B., & Cremaschi, S. (2017).
Variants to a knapsack decomposition heuristic for solving R&D pipeline management problems.
Computers & Chemical Engineering, 96, 18-32.
- Details of different approaches can be found in:
###3. Example: the command line example can be found in: Command line entry.
The example command line uses the default knapsack problems generation approach.
The test data is in Problem Files. New created data file should be located in Problem Files.
The solver file includes both the multistage stochastic programming model and the knapsack problem-based decomposition algorithm to solve phamaceutical R&D pipeline clinical trial plannning problem.
For any questions, feel free to email szc0113@auburn.edu