AI4Finance-Foundation / RLSolver

Solvers for NP-hard and NP-complete problems with an emphasis on high-performance GPU computing.

Home Page:https://ai4finance.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

📝 update graph max cut

Yonv1943 opened this issue · comments

穷举所有的解,并用GPU模拟器批量验证

exhaustion_search()
exhaustion_search_result()

根据输入的图,例如g14,我们选取前 num_limit 个点,得到规模较小的问题:

  • Theta 表示问题的解
  • G14 表示选择了g14这个图
  • L30 表示 选取这个图的前30个节点
  • "0Hpfvw" 是穷举后得到的最优解的64进制表达
  • best_score 91 表示最优解的得分是91
  • count 2*1 表示有两个最优解
ThetaG14L10 = "2U"  # best_score 21  count 2*2
ThetaG14L12 = "09v"  # best_score 27  count 2*6
ThetaG14L14 = "0nd"  # best_score 34  count 2*2
ThetaG14L16 = "2US"  # best_score 40  count 2*9
ThetaG14L18 = "09vo"  # best_score 47  count 2*23
ThetaG14L20 = "1QQb"  # best_score 54  count 2*1
ThetaG14L22 = "1E_E"  # best_score 61  count 2*1
ThetaG14L24 = "09xeR"  # best_score 68  count 2*4
ThetaG14L26 = "17dBj"  # best_score 76  count 2*1
ThetaG14L28 = "4SwUU"  # best_score 83  count 2*4
ThetaG14L30 = "0Hpfvw"  # best_score 91  count 2*1

算到 num_limit=30 就不算了,是因为求解出它已经需要4小时。


表示从 version1 到 version4,依次用越来越进阶的方法,去迭代更新问题的解

run_v1_update_theta_by_grad()
run_v2_update_theta_by_adam()
run_v3_update_theta_by_opti()
run_v4_update_theta_by_opti()

表示 version1 到 version1,依次用越来越进阶的方法,去通过自回归去生成问题的解

run_v1_generate_theta_by_auto_regression()

unit tests

检查环境是否有问题,检查搜索出来的解的得分。

check_env()
check_theta()