Downloads · 30 days
0
leokana/pdppo
pdppo is a machine learning model from leokana. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
To reference the paper associated with this work, please use the following citation:
Downloads · 30 days
0
Access
Public
Updated Apr 11, 2025
Repo size
57.6 MB
Likes
0
Public
Click a slice to open those files.
.pth8.7 MB · 58%
From the Hugging Face model README
To reference the paper associated with this work, please use the following citation:
To be included
The paper is available at Arxiv
This repository contains code and resources for research on using reinforcement learning, particularly the Post-Decision Proximal Policy Optimization (PDPPO), for the Stochastic Discrete Lot-Sizing Problem and a Frozen-Lake game.
This repository consists of two main directories: Lot-sizing and Lake application, each containing the related files and folders.
Lot-sizing directory holds the following subdirectories:
generate_setting.py is used for generating new environment settings.sol_setting.json.simplePlant.py and singleSequenceDependentMachinePlant.py.Lake application directory holds the following subdirectories:
frozen_lake.py.Root level scripts experiments.py, generate_tables.py and plot_figure.py are used for running experiments, generating output tables and plotting results respectively.
The main components of the repository are as follows:
├───Lake application
│ ├───agents # contains the implementations of various agents
│ ├───envs # contains the FrozenLake environment implementation
│ ├───logs # contains the logs of the agent's performance
│ └───results # contains the results of the agent's performance
│ └───frozen_lake_PPO
└───Lot-sizing
├───agents # contains the implementations of various agents
│ └───utils # utility functions for the agents
├───cfg_env # contains the settings for the Lot-sizing environment
│ └───setting file
├───cfg_sol
├───envs # contains the Lot-sizing environment implementation
├───logs # contains the logs of the agent's performance
├───models # contains the models for the optimization problems
├───results # contains the results of the agent's performance
├───scenarioManager # manages different scenarios for the Lot-sizing environment
└───test_functions # contains test functions for the Lot-sizing environment
This project uses the following main dependencies:
requirements.txt due to separate licensing)git clone https://github.com/username/repository.git
cd repository
pip install -r requirements.txt
NOTE: You might need to replace the frozen environment file in your environment path with the frozen_lake.py provided in this repository for the Lake application to work properly.
python ./code/Lot-sizing/experiments.py
python ./code/Lake application/experiments.py
python ./code/Lot-sizing/generate_tables.py
python ./code/Lake application/generate_tables.py
python ./code/Lot-sizing/plot_figure.py
python ./code/Lake application/plot_figure.py
You can find the results of the experiments in the results directories in both Lot-sizing and Lake application directories.
To reproduce the results in the logs and results folders, you would need to run the experiments with the same hyperparameters and seeds.
Please note that due to the stochastic nature of the environments and training process, the results might not be identical, but they should be within a similar range.
For any additional questions, please open an issue in the repository or contact felizardo@ita.br
The Lot sizing environment and the PPO implementation in PyTorch can be found in: