?欢迎!这是一个伴随论文reevo的代码库:大型语言模型作为反射性演变的超高术。
给Reevo 5分钟,并获得最先进的算法作为回报!
我们介绍了语言超声术(LHHS) ,这是一种新兴的超高术(HHS),它利用LLMS进行启发式生成,具有最小的手动干预和开放式启发式启发式空间。
为了增强LHHS的能力,我们提出了反思性演变(REEVO) ,这是一个通用的搜索框架,它模拟了人类专家的反思性设计方法,同时以其可扩展的LLM推断,Internet规模域知识和强大的进化搜索超过了人类能力。
我们可以改善以下类型的算法:
关于以下问题:
带有黑框和白色框设置。
./outputs/main/
中。./problems/*/test.ipynb
中提供。 您可以通过pip install -r requirements.txt
安装上面的依赖项。
特定问题的依赖性:
tsp_aco(_black_box)
:pytorch,scikit-learncvrp_aco(_black_box)
/ mkp_aco(_black_box)
/ op_aco(_black_box)
/ NCO
:pytorchtsp_gls
:numba == 0.58 # e.g., for tsp_aco
python main.py
problem=tsp_aco # problem name
init_pop_size=4 # initial population size
pop_size=4 # population size
max_fe=20 # maximum number of heuristic evaluations
timeout=20 # allowed evaluation time for one generation
请访问./cfg/
以获取更多选项。
tsp_aco
, tsp_aco_black_box
, tsp_constructive
, tsp_gls
, tsp_pomo
, tsp_lehd
cvrp_aco
, cvrp_aco_black_box
, cvrp_pomo
, cvrp_lehd
bpp_offline_aco
, bpp_offline_aco_black_box
, bpp_online
mkp_aco
, mkp_aco_black_box
op_aco
, op_aco_black_box
dpp_ga
./cfg/problem/
中定义您的问题。./problems/
中实施评估管道。./prompts/
中添加function_description,function_signature和seed_function。默认情况下:
f"./problems/YOUR_PROBLEM/gpt.py"
中,并将导入到./problems/YOUR_PROBLEM/eval.py
for tsp_aco)中, reevo._run_code
。./problems/YOUR_PROBLEM/eval.py
/your_problem/eval.py(例如,tsp_aco)应将元观点值打印为STDOUT的最后一行,由reevo.evaluate_population
用于启发式评估。 使用CLI参数llm_client
指定LLM API提供商和llm_client.model
来确定要使用的模型。例如,
$ export LLAMA_API_KEY=xxxxxxxxxxxxxxxxxxxx
$ python main.py llm_client=llama_api llm_client.model=gemma2-9b
支持的LLM API提供商和模型包括(注意仅支持聊天模型):
如果您使用我们的代码遇到任何困难,请随时提交问题或直接与我们联系!
如果您有任何疑问或想与我们讨论Reevo,我们也会感到懈怠。我们愿意进行合作,很乐意收到您的来信
如果您发现我们的工作有帮助(或者您很友善以为我们提供一些鼓励),请考虑给我们一颗星星,并引用我们的论文。
@inproceedings { ye2024reevo ,
title = { ReEvo: Large Language Models as Hyper-Heuristics with Reflective Evolution } ,
author = { Haoran Ye and Jiarui Wang and Zhiguang Cao and Federico Berto and Chuanbo Hua and Haeyeon Kim and Jinkyoo Park and Guojie Song } ,
booktitle = { Advances in Neural Information Processing Systems } ,
year = { 2024 } ,
note = { url{https://github.com/ai4co/reevo} }
}
我们非常感谢Yuan Jiang,Yining Ma,Yifan Yang和AI4CO社区的宝贵讨论和反馈。
此外,我们的工作是建立在以下项目之上的: