Code Monkey home page Code Monkey logo

jampr_plus's Introduction

JAMPR+ LNS

This repo implements the Large Neighborhood Search based on Neural Construction Heuristics of the corresponding paper.


It is evaluated on the DIMACS VRP-TW track and is a

  • reworked and improved version of the original JAMPR model
  • using the JAMPR model as a neural construction heuristic
  • in combination with simple destruction heuristics and an additional local search routine
  • in a Large Neighborhood Search framework.

Please cite us:

@article{falkner2022large,
  title={Large Neighborhood Search based on Neural Construction Heuristics},
  author={Falkner, Jonas K and Thyssens, Daniela and Schmidt-Thieme, Lars},
  journal={arXiv preprint arXiv:2205.00772},
  year={2022}
}

Setup

Install the requirements as conda environment

conda env create -f requirements.yml

Training

Train the JAMPR model for type 1 instances with low TW frequency

python run_jampr.py meta=train env=all_1_low

Train the JAMPR model for type 2 instances with high TW frequency

python run_jampr.py meta=train env=all_2_high

LNS

Run the LNS on the Solomon instance c103 with a time limit of 60s

python run_lns.py data_path=./data/solomon_txt/c1/c103.txt time_limit=60

All runs are configured via hydra through the config files in the config and config_lns directories. A configuration summary can also be found via

python run_jampr.py -h

and

python run_lns.py -h

VRP Challenge

Run the controller with LNS for instance R101 (override time limit for testing). Requires a corresponding customized controller from the DIMACS challenge!

python run_controller.py --id R101 --time_limit_override 20

jampr_plus's People

Contributors

jokofa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

jampr_plus's Issues

The questions for the model jampr.

  I noticed that you proposed a model called jampr.You said you make comparison with AM+TW and GORT.The results shows that the model surpasses the two models above in some cases.I want to konw how did you make the experiment with the AM+TW model.I am really appreciated if you can tell me the process.Meanwhile,can you give me the original code so that i can have a better understanding of your model?Thank you.

Compilation Error with CUDA: Invalid Value for --gpu-architecture on RTX 4090

Hello,

I'm trying to run the JAMPR_plus project on my system which has an NVIDIA GeForce RTX 4090 GPU. However, I encountered a runtime error related to the CUDA GPU architecture setting. The error message is as follows:

RuntimeError: nvrtc: error: invalid value for --gpu-architecture (-arch)

It seems that the CUDA compilation does not correctly specify the GPU architecture for my GPU, which should be Compute Capability 8.9. I have checked the code but could not find where the GPU architecture is explicitly set for the CUDA compilations.

Could you please help me identify where and how I can specify the correct GPU architecture settings in the project? Or if there's an existing way to configure this that I might have missed, could you point me in the right direction?

Thank you very much for your assistance!

Best regards,
xkuan

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.