运筹学与最优化方法_[G-HN-ID003] 不期而遇的規劃, 方法及相关

夫運籌帷幄之中, 诀勝于千里之外...

解方程

超定方程, 定方程, 不定方程

解不等式

HAHAHA

运筹学 规划问题
整数规划(Integer programming, IP) 建模可泛化于离散优化(Discrete Optimization)问题:

  • l 物流 (logistic)
  • l 车辆路径 (vehicle routing)
  • l 调度 (scheduling)
  • l 资源分配 (resource allocation)
  • l 频率分配 (frequency assignment)
  • l 生产库存 (production inventory)
  • l 供应链优化 (supply chain optimization)
  • l 计划问题 (planning problems)

IP在有限线性约束族的整数点集上最小化线性目标函数。多面体理论[6]中的经典结果表明,任何组合优化(Combinatorial Optimization, CO)问题, 只要其可行域是有限的, 都可以表示为IP问题. 因此,IP作为一种自然模型适用于许多图优化问题:

  • l 图同构问题 (Graph Isomorphism Problem)
  • l 最小支配集合问题 (Minimum Dominating Set Problem)
  • l 最小顶点覆盖问题 (Minimum Vertex Cover Problem)
  • l 最大匹配问题 (Maximum Matching Problem)
  • l 最大稳定集 (Maximum Stable Set Problem)
  • l 最大独立子集问题 (Maximum Independent Set Problem)
  • l 最大完全子图(最大团)问题 (Maximum Clique Problem)
  • l 旅行商问题 (Traveling Salesperson Problem)
  • 最优化 (存储论 排队论 决策论 图与网络优化)
    • 二次整数规划 (mixed-integer quadratic program)
    • 混合整数规划 NP
    • 线性规划 P
    • 整数规划 (有限元素组合优化) NP
      • 布尔可满足性问题 (Satisfiability): 对于布尔逻辑内合取范式方程式的满足性问题(一般直接叫做SAT
        • 0-1整数规划 (0-1 integer programming)
        • 分团问题 (Clique,参考独立集)
        • Set packing (Set packing)
        • 最小顶点覆盖问题 (Vertex cover)
        • 集合覆盖问题 (Set covering)
        • Feedback node set (Feedback node set)
        • Feedback arc set
        • 有向哈密顿循环 (Directed Hamiltonian cycle)
        • 无向哈密顿循环 (Undirected Hamiltonian cycle)
      • 每句话至多3个变量的布尔可满足性问题 (Satisfiability with at most 3 literals per clause, 3-SAT)
        • 图着色问题 (Chromatic number)
        • 分团覆盖问题(Clique cover)
        • 精确覆盖问题(Exact cover)
        • Hitting set(Hitting set)
        • Steiner tree(Steiner tree)
        • 三维匹配问题 (3-dimensional matching)
        • 背包问题 (Knapsack)
        • Job sequencing (Job sequencing)
        • 划分问题 (Partition)
        • 最大割 (Max cut) {A-B Graph[1], E-R Graph[2]}

TSP n个城市的问题映射到具有每个顶点的NxN图(网络), Vij, 一个二元变量, 可以表示城市i是否是要访问的第j个城市, 并且连接顶点的边与城市间的距离成比例。虽然Hopficld和Tank的结果受到Wilson和Pawley(1988)的质疑,但随后的活性研究进入了持续了十多年的CO神经网络(Smith 1999)。

Karp,R.M. 1972. Reducibility Among Combinatorial Problems. In Complexity of Computer Computations. Springer. 85–103.


最优化方法

凸优化方法

牛顿迭代法

仿射尺度法

对数障碍法 (Log-Barrier Mθd., LBM) [内惩罚思想](内i点)

不等式约束问题可以使用求

罚函数法(外点)

乘数附束求偏法 (Lagrange Multiplier Mθd.) [Lagrange; A.C.1791]
高等数学-微积分: 偏微分, 全微分, 链法 L=f(x,y,z)+λφ(x,y,z)

对偶理论

乘数附繁束求偏法 (Karush-Kuhn-Tucker Mθd., KKT) [; A.C.1791]

包含不等式约束

天津炭栗:关系其解 取最优​zhuanlan.zhihu.com

--

鲁棒优化

半定规划

锥优化

一步一步走向锥规划 - QP [续]​www.jianshu.com
66a8c496cae9ca806992d841ae082d6b.png

线性规划(LP)方法

天津炭栗:线性规划解法​zhuanlan.zhihu.com
9c6f01e8ab68fc408e3fe513dcdcfc36.png
LP约束条件由线性等式和线性不等式组成: 在几何上, 线性等式限制了可行解必须在其对应的平直亚空间内, 线性不等式限制了可行解必须在其对应的平直亚空间割原空间的一侧. 这些约束条件限制了可行解必须在某个单纯形(凸空间或无解)上.
Introduction to Linear Optimization (Athena Scientific Series in Optimization and Neural Computation, 6)​b-ok.org

实数域上的 LP 是否有强多项式时间 (strongly polynomial-time) 算法? 给定任意一个矩阵

,向量
,是否存在一个强多项式算法,可以判断是否存在
,使得
? P ?= NP, 经过路过的朋友不要错过, 有想法就大胆尝试!

系统消去法 约束条件通过增加松弛变量而变为等式 (相当于只赠加了松弛变量和他们的定义域N*) 单纯形法 (Simplex Mθd.) Dantzig, George B.
  1. 选基变量对应基可行解(basic feasible solution), 基础矩阵B
  2. 选待入基变量
  3. 沿垂直于目标亚空间的方向选梯度最大的:
  4. 出基入基

Simplex Method​link.springer.com
b35b2141058bb5f4cbdbf422104ab3d9.png

按部就班, 完事为止. 或为指数复杂度

单纯形法对 MDP-based LP 多项式可解
-- 葉荫宇

2 中 else 选取方式(pivoting rule)有:

  • Bland's rule:
    选取与下标最小的正检验数
  • Dantzig's rule: 计算所有非基变量的改进率(reduced costs)并选择最佳的改进率。
  • steepest edge rule
  • greatest improvement rule

椭球法 (Ellipsoid Mθd.) (迭代路径迥异于单纯形法, 始终保持一个椭球) [Хачиян, Л.Г./ Khachyian]

对偶思想 复杂度

哈奇扬方法_百度百科​baike.baidu.com
04b6528b61845046f031f5ae2faff41a.png
单纯形算法在实际应用中非常有效, 至今占有绝对优势, 但理论上它还不是多项式算法. 1979年,前苏联数学家第一个给出了求解线性规划的多项式算法,这就是所谓的椭球法,但其计算结果很不理想(远不及单纯形法). 之后找到了实用且有效的多项式时间算法: 内点法。

内点法 (Interior-Point Mθd.) (迭代路径迥然异于单纯形方法)

惩罚思想, 描述凸集 混合复杂度

遍历内部可行区域(不是 Simplex 的演化)

投影规约法 (Karmarkar Mθd.) [使迭代过程的点远离约束的各面, Karmarkar] ※

问题

思想亦可处理非线性优化问题

卡马卡算法_百度百科​baike.baidu.com
04b6528b61845046f031f5ae2faff41a.png

各种解算器。。
A Rule for Gradient Estimator Selection, with an Application to Variational Inference

(混合)整数规划方法

研究问题, 我们希望得到一个确定性方法, 之后在考虑是不是重新找一个, 还是优化已找到的方法,近似或者引申. 传统是明灯:平束法 (割平面法, Cutting Plane) Ralph Gomory

天津炭栗:平束法 (Cutting Planes Method)​zhuanlan.zhihu.com

行生成 (Benders 分解) 先打算从这里入手

行生成和Benders分解 - IE06 - 简书​www.baidu.com

列生成算法 Gilmore-Gomory Formulation Ralph Gomory (行生成的 对偶)

天津炭栗:二 啊士大夫规划艰苦了 最优化​zhuanlan.zhihu.com

对偶

拉格朗日方法和对偶理论相结合 拉格朗日方法和Dantzig-Wolfe分解 Arthur Geoffrion

求解TSP问题时加入切平面 Delbert Fulkerson、George Dantzig、Johnson

Ford–Fulkerson 算法 [最大网络流问题]

Edmond-Karp算法 [最大流问题] Jack Edmonds、Richard Karp

Hungarian Method [指派问题(Assignment Problem)] Harold Kuhn

Kruskal's algorithm [minimal spanning tree(MST)问题]

分支限界法 (Branch and Bound B&B) Ailsa Land Alison Doig

分支限界法 递归地将解决方案空间划分为一个搜索树,并在此过程中计算松弛边界,从而修剪那些证明不包含最优解决方案的子树。

Balinski’s Theorem[3] Michel Balinski

Matroid Partition Jack Edmonds

Lift and Project [Disjunctive Programming] Egon Balas

George Nemhauser

MCA (Max Cut Approx)

元启发式算法

半正定规划

多目标优化

启发式方法

启发式算法相对于最优化算法, 对于一类问题:
最优化算法可求得该问题每个实例的最优解
启发式算法基于直观或经验构造, 允许条件( 时间空间以及其他域综合的 运气)下给出该问题每一个实例的至少一个 可行解(其与最优解的偏离程度一般不能被预计)
启发式方法往往没有提供理论保证, 但在测试中体现了 高有效性选择探索能力

ranging from search-based
Breakout Local Search for the Max-Cut problem. [Benlic and Hao, A.C.2013, EAAI-26(3):1162 – 1173]
Annealing by simulating the coherent Ising machine. [Tiunov, E. S. Ulanov, A. E. Lvovsky, A.; A.C.2019; OptEx-27(7):10288–10295]

王源:【学界】黑盒子凸优化,中心法和Khachiyan常数猜想​zhuanlan.zhihu.com
7a5a831977967350024cfb0c12449ed3.png

黑盒子凸优化(Black-box convex optimization)

中心法(凸体中心法)

  • 重心 (centroid,center of gravity)
  • 外接椭球中心 (circumcenter,center of circumscribed ellipsoid)
  • 内接椭球中心 (incenter,center of inscribed ellipsoid)
  • 切比雪夫中心 (Chebyshev center, center of inscribed ball)
  • 单纯形中心 (center of circumscribed simplex)
  • 分析中心 (analytic center)
  • 体积中心 (volumetric center)
前五个中心是具有几何意义的,并且是唯一的;而后两个中心则依赖于代数表示,更加具体地说,同一个凸体,通过冗余的代数表示(比如同一个不等式重复多次),凸体的任意内点都可以成为分析中心或者体积中心。接下来将会分析猜测重心,外接椭球中心, 内接椭球中心的策略的效率。

内接椭球常数猜想 (Khachiyan 猜想) An inequality for the volume of inscribed ellipsoids[Хачиян, Л.Г.(Khachiyan, L.G.); A.D.1990; D&CG-5(3):219-222]

内接椭球法的收敛因子

统计學的許多實際問題, 解决的启发式方法高水平的性能需要广泛的 定制特定于域的知识 在 Deep Learning 裏都包裝成由一個或幾個损失函数來訓練特化或泛化網絡的端對端优化问题. 這的確大大降低了對問題的理解深度的需求, 但也很難再推動人類數學形式化的發展, 使得人類對其逐漸依賴而墮落于基於連接主義的模糊數學. 运筹学作爲研究优化理论的学科, 其中的諸多算法值得于 DL 結合.

萌芽 解决变长输入

PtrNet (Pointer-Network sims Attention) Pointer Network [NIPS2015] //序贯决策 (Decoder每次根据问题的Embedding以及之前的输入序列做决策, idea BMGN)

结构到向量 (S2V-DQN)

坚持端到端

做修正 (Local Search)

结构到向量与局部搜 (S2V-DQN + GRdu + LocS) Learning Combinatorial Optimization Algorithms over Graphs [MVC, MAXCUT, TSP][1704.01665; NIPS2017]

GNN (0-1 output GNN guided TS + LocalS) Combinatorial Optimization with Graph Convolutional Networks and Guided Tree Search (MVC,MC,SAT->MIS, 脱节于序贯) [1810.10659]

指导搜索 Learn to Search :

指导 LP 的转轴规则 (L2VR)

模仿学启发式 (L2B&B) Learning to Search in Branch-and-Bound Algorithms (两个策略, Select 和 Pro)[Advances in NIPS-27, 2014]

Gumbel-softmax () Gumbel-softmax optimization: a SIMPLE GENERAL FRAMEWORK FOR COMBINATORIAL OPTIMIZATION PROBLEMS ON GRAPHS () [arX1909.07018]

分支限界法的迭代过程需要顺序的决策, 包括 节点选择(node selection): 选择下一个要评估的节点、 变量选择(variable selection): 选择用来划分节点搜索空间的变量、以两者并在一定程度扭曲的 双割选取(double lazy cuts selection): 选择两条平行且线间無整点, 线上存整点的割线、以及策略选择(policy selection): 选各种分支策略的组合, 分支依据决策方式可以分为 Strong Branch, Scoreing Branch,...

分治的分支方式 (L2B) Learning to Branch [arXiv:1803.10150]

指导分治的变量选取 (L2B)

指导分治的变量选取 (L2B&B) Learning to Branch in Mixed Integer Programming [AAAI-30, 2016]

指导切割解空间 (L2C) hh/

指导切割分治的解空间 (L2B&C) kjk

--- ⬇ under Review ⬇ ---

图表征指导的强化 (GCOMB, GNN+DQN) Learning Heuristics over Large Graphs via Deep Reinforcement Learning [1903.03332]

分支切割优选法 (B&C Cut Selection by Attention; Branch-and-Cut; Gomory Cut) Reinforcement Learning for Integer Programming: Learning to Cut [1904.04859]

预着色编号图解法 (CPNGNNs; 2-colored Graph) Approximation Ratios of Graph Neural Networks for Combinatorial Problems (近似弱问题, 图同构GIP, End2End) [1905.10261]

图表征指导的树搜索 (GNN-MCTS; GIN; PUCT-MCTS) Solving NP-Hard Problems on Graphs by Reinforcement Learning without Domain Knowledge [1905.11623]

分支限界变量优选法 (B&B Variable Selection by GCNN) Exact Combinatorial Optimization with Graph Convolutional Neural Networks [1906.01629]

持续探索 (ECO-DQN ≡ S2V-DQN + RevAct + ObsTun + IntRew) Exploratory Combinatorial Optimization with Reinforcement Learning (Max-Cut, 翻转节点, 鼓励局部最优, 储存当前最高) [1909.04063]

Learning to Branch in Mixed Integer Programming [AAAI-30, 2016]

Learning Heuristic Search via Imitation [CoRL-1, 2017]

Learning to Perform Local Rewriting for Combinatorial Optimization [NIPS-33, 2019]

Accelerating Primal Solution Findings for Mixed Integer Programs Basedon Solution Prediction [AAAI-33, 2019]

天津炭栗:组合优化与强化学习​zhuanlan.zhihu.com
6bd814fe7e6db250ea9e6ad74368304e.png

相关工具

解算器 (Solvers):

GUROBI (Alibaba资深算法师晓田兄推荐)

CPLEX (Integer Programming Solver; QUBO) Annealing by simulating the coherent Ising machine [Optics Express 2019]

SimCIM (CIM, simulated annealing heuristic Solver) Annealing by simulating the coherent Ising machine [Optics Express 2019]

MIS求解器

MCA


相关理论

Semidefinite Programming Franz Rendl

The Traveling Salesman Problem: A Computational Study William Cook Optimization over Integers

全幺模 (Total Unimodularity) [系数矩阵为全幺模矩阵,那么求解该模型的线性规划松弛即可得到原整数规划模型的最优解] Alan Hoffman、 Joseph Kruskal @Bell Lab dfd[4]

hybridisation, combinatorial, multicriteria and constrained optimization, and indicative applications [Banks, Vincent, and Anyakoha, A.C.2008, NatureCput-7(1):109–124]

Off-Policy Deep Reinforcement Learning without Exploration [arX1812.02900]

2 Quadro GP100 GPUs


大多数人都是视觉动物, 最好了解以上方法的几何意义

参考

  1. ^Statistical mechanics of complex networks. https://arxiv.org/pdf/cond-mat/0106096.pdf
  2. ^On the Evolution of Random Graphs https://www.renyi.hu/~p_erdos/1961-15.pdf
  3. ^Integer programming: methods, uses, computation
  4. ^Integer and Combinatorial Optimization
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值