简单记录一下关于仿真优化的一些知识点和思考。主要基于:Handbook of Simulation Optimization, Michael Fu

Table of Contents

Overview

Discrete Optimization

Three fundamental type of errors:

Optimality Conditions

Different scenarios depending on the solution space size:

Ranking and Selection

Ordinal Optimization (OO)

Globally Convergent Adaptive Random Search

Locally Convergent Adaptive Random Search

Commercial Solvers


Overview

这是本书的overview 实际上也可以看做是这一field的overview.

  • SimuOpt : optimize, when the obj function  cannot be computed directly, but can be simulated, with noise (focus on stochastic simulation environment).

一种分类方式:Discrete vs Continuous

  • Discrete Optimization

    • Solution space is small -> Ranking & Selection (based on statistics or simulation budget allocation)
    • Solution space is large be finite -> Ordinal Optimization (no need to estimate accurately every candidate, only need to know their order. Much faster convergence (exponential))
    • Solution space is countably infinite -> Random Search (globally or locally convergent)
  • Continuous Opt
    • RSM (Response Surface Methodology). Also has constraint considerations and robust variants
    • Stochastic Approximation (RM, KW, simutaneous perturbation stochastic approximation for high-dim pbs)
    • SAA (Sample Average Approximation) with consideration on stochastic constraints.
    • Random Search, focus on estimation and on the search procedure. Model-based RS is newer class, assuming probability matrix is known.

Since stochasticity is the keyword, some base knowledge is important for DO as well as for CO.

  • Statistics

    • How to estimate a solution
    • How to know soluiton x is better than y
    • How to know to what extent we are covering the optimal solution in the search
    • How many replications de we need...
    • Hypothesis testing
  • Stochastic constraints
  • Variance reduction
  • ...

Discrete Optimization

Three fundamental type of errors:

  • The optimial solution is never simulated (about search)
  • The opt that was simulated is not selected (about estimation)
  • The one selected is not well estimated (about estimation)

Optimality Conditions

  • are needed to 1) ensure the correctness of the algo; 2) define the stopping criteria
  • for constrain free non-linear optimization, we stop at a settle point
  • for integer optimization, we check the gap between LB and UB
  • here for SBO, it's difficult because:
    • the cost of solution g(x) can only be estimated
    • no structural info can be used to prune solution zone
    • complete enumeration of the solution space is often computationally intractable

Different scenarios depending on the solution space size:

  • Small. Less than hundreds of candidate. The key is then how to well estimate all solutions and return the best. Practically we analyze the Probability of Selection Correctness. (PSC). Algo stops til  where x* is the selected best solution.
  • Large.
    • Impossible to simulation all candidates. The idea is then to find a "good enough" solution, which means that x* is among the t-best solutions, with a certain probability.. This is used in ordinal optimization
    • Or, choose methods with globally convergence () or locally convergence () guarantee.  is the set of all local optimums depending on the definition of neighborhood structure. Local optimum can be tested statistically by controling the type1 and type2 error. Because a neighborhood is often not large.
    • Hypothesis testing: if the hypothesis is right, what's the probabilty of our observation? This is a proof by contradiction, emphasizing the rejection instead of the acceptance.
    • (Meta)heuristics often found in commertial solvers. These algorithms work well for difficult deterministic integer programs, and they are somewhat tolerant of sampling variabilities. However, they typically do not satisfy any optimality conditions for DOvS problems and may be misled by sampling variabilities.

Ranking and Selection

Two formulations are concerned:

  • indifferent zone formulation (IZF)
  • bayesian formulation (BF)

IZF (Frequentist)

Assume  which is the most difficult case. The objective is to find x1 which is at least -better than all the others.

  1. Bachhofer's procedure: assume estimation variance , Bachhofer decides the number of replications to estimate each solution. Then it suffices to chooses the best one based on the sample mean.
  2. Paulson's procedure: filter progressively. At each iteration: take one observation of each solution, calculate the sample mean, and filter out some bad solutions. This is more efficient than Bachhofer's since a large number of solutions may be filtered out at early stages.
  3. Gupta's procedure (subset selection): similar to 1 and 2. Returning a set of solutions  and guarantee that 

Based on the principle of the above 3 procedures, further procedures include:

  1. NSGS: a two-stage procedure. Compute a initial sample mean, then according to the variance of estimations, decide the amount of extra replications to make. Finally select the best.
  2. KN: contrast to NSGS, this is not a two-stage procedure but a iterative one, adding replications progressively.

BF (Bayesian) (Does not provide PSC guarantees)

Used when prior information is available.

Helps to choose the next solution to explore, based on prior information and previous sample results, and also the simulation budgets. This involves a MDP problem and can be possibly solved by ADP/RL.

  1. Generic Bayes Procedure: basicly a RL procedure: Simulation (state)->Choose the next solution (action)->loop
  2. Since it's hard to find the optimal Actor, some heuristics are proposed:
    1. OCBA (Optimal Computing Budget Allocation)
    2. EVI (Expected Value of Information)
    3. KG (Knowledge Gradient)

Conclusion

Brankle et al. found that no R&S procedure is dominent in all situations. (thousands of pb structures tested). BF is often more efficient in terms of nb of samples, but it doesn't provide correct-selection optimality guarantee like frequentist does.

Ordinal Optimization (OO)

When the solution space is large, OO proposes "sofe optimization", which selects a subset S from  and limit the analysis to S. We are interested in the probability that , where T is the set of top t solutions in the whole space.  is called the alignment level and the probability is alignment probability.

Two basic idea behind OO:

  1. Estimating the order between solutions is much easier than estimating obj values
  2. Acception good enough solutions leads to exponential reduction in computational burden

OO is more an analysis than new algorithm, the procedure will be:

  1. First determine the AP (alignment probability)
  2. Then that will determine the cardinality of subset 
  3. Then just run R&S and you got the guarantee that the solution is among the top t.

In practical i don't think this is so interesting, since it just tells you that, the larger  is, the better.

Globally Convergent Adaptive Random Search

Designed for large but finite solution space. Guarantee 

Generic GCARS:

  1. init
  2. Sampling: 
  3. Estimation:
  4. Iteration: update V(x) for x in 

Several algoritms are described:

  1. Stochastic Ruler Algo: accept a solution by uniformly choosing a ruler u~U(lb,ub)
  2. Stochastic Branch and Bound: each time choose a partition of  with the minimum LB, then partition it finer and finer
  3. Nested Partition: an enhancement of SBB with less information to memorize
  4. R-BEESE(Balanced Explorative and Exploitative Search with estimation). On each iteration:
    1. with a probability q, refine the current x* with more replications
    2. else with a probability p sample from Global(theta)
    3. else sample from Local(theta)

Locally Convergent Adaptive Random Search

Similar to GCARC, but with a statistical procedure to test the local optimality of .

COMPASS (Convergen Optimization via Most-Promising-Area Stochastic Search)

  1. init, sample a neighborhood of solutions and retain the best
  2. move to the next neighborhood by choosing . In otherword, always focus on the closest neighbors of x*. Here a LP can be solved to find the neighborhood. Called constraint pruning.

AHA (Adaptive Hyperbox Algo)

Like COMPASS, but define the neighborhood as the hyperbox around x* :  where d is the dimension of x.

Commercial Solvers

Most simulation modeling softwares includes SBO tool, but most of them are based on R&S or meta-heuristics like SA. Meta-heuristics have been observed to be effective on difficult deterministic optimization problems but they usually provide no performance guarantees. Some advises are:

  1. Do preliminary tests to control sampling variability
  2. Re-run several times the solver (multi-start with different random seed)
  3. Estimating the final solutions set carefully to be sure to select the best.

Conclusion

Most of the above mentioned algorithms are black-box algorithms that do not depend on problem structures. This can be considered in defining the neighborhood in LCRS, for instance.

[NOTE in progress] Simulation Optimization相关推荐

  1. Note of Numerical Optimization Ch.3

    目录 Numerical Optimization Ch.3 Line Search Methods Step Length Convergence of Line Search Methods Ra ...

  2. 人工智能/数据科学比赛汇总 2019.6

    内容来自 DataSciComp,人工智能/数据科学比赛整理平台. Github:iphysresearch/DataSciComp 本项目由 ApacheCN 强力支持. 微博 | 知乎 | CSD ...

  3. Python编程语言学习:sklearn.manifold的TSNE函数的简介、使用方法、代码实现之详细攻略

    Python编程语言学习:sklearn.manifold的TSNE函数的简介.使用方法.代码实现之详细攻略 目录 Manifold简介 TSNE简介-数据降维且可视化 TSNE使用方法 TSNE代码 ...

  4. 常见EI会议出版商IOP出版计划供参考

    本文整理了IOP出版商截至2020年3月10号的会议出版计划,供大家参考.IOP近年来比较火爆,主要原因是其会议系列提交EI compendex数据审核收录.本文罗列了这些会议列表,希望对大家有帮助. ...

  5. INFORMS 及 EJOR 系列主编汇总

    INFORMS 及 EJOR 系列主编汇总 INFORMS Informs是The Institute for Operations Research and the Management Scien ...

  6. cs231n的第一次作业svm

    SVM算dw svm实现公式中,线性函数为 损失函数为 为了更快得到期望W,需要找寻梯度dw.图像数据Xi = [ D*1 ],W[k*D]或者W[k*D+1],k表示有k个类别.W的每一个行向量便是 ...

  7. C231n-SVM-assignment1-完全代码及注释

    题目介绍: Multiclass Support Vector Machine exercise Complete and hand in this completed worksheet (incl ...

  8. 【CS231n】Two Layer Neural Network 代码实现

    1. 代码实现 github:https://github.com/GIGpanda/CS231n 主要包括连个.py文件,一个是two_layer_net.py,另外一个是neural_net.py ...

  9. CS231n (winter 2016) : Assignment1

    转自简书:Deepool​​​​​ 前言: 以斯坦福cs231n课程的python编程任务为主线,展开对该课程主要内容的理解和部分数学推导.该课程的学习资料和代码如下: 视频和PPT 笔记 assig ...

最新文章

  1. 剑指offer:面试题30. 包含min函数的栈
  2. C++默认参数注意事项
  3. AtCoder Grand Contest 013D: Piling Up 题解
  4. 每天九点十分开始每半小时一次执行一个cron_趣讲 PowerJob 超强大的调度层,开始表演真正的技术了...
  5. 【实例】销售合同VA41屏幕字段增强实例
  6. html radio 默认图片替换_html,css_如何更改radio、checkbox选项框背景图?,html,css - phpStudy...
  7. 在STM32价格疯长下,哪些国产32可以替代?
  8. 深搜DFS\广搜BFS 图初步入门
  9. 一文了解linux内核,一文了解Linux的系统结构
  10. 转:卷积神经网络_(1)卷积层和池化层学习
  11. 计算机真题11Excel,计算机网考真题EXCELPPT操作题答案(11页)-原创力文档
  12. Rafy 框架 - 为数据库生成注释
  13. 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》—第3章3.4节识别在线设备...
  14. 中国OpenJDK联盟解决问题和BUG的优先级
  15. linux下mac风格菜单栏,Mac 菜单栏样式太单调?不妨用这个小工具自己动手定制
  16. python 文件题目练习
  17. 西电网络攻防大赛--渗透测试第五题
  18. R studio做加权cox回归分析时候总是报错,急求,非常感谢老师
  19. 【服务器数据恢复】IBM某型号服务器VMware虚拟机误删除的数据恢复案例
  20. 把一个godaddy的域名转回国内的注册商

热门文章

  1. dlink823g虚拟服务器,D-Link路由器无线桥接怎么设置? | 192路由网
  2. 智能手机是不是计算机应用设备,otg数据线是什么 otg数据线有什么用 otg数据线的使用方法...
  3. java手机游戏开发如何_用JAVA开发手机游戏需要如何构建开发环境?
  4. 学生成绩处理(函数版)
  5. 知识图到文本的生成——叁
  6. 简单3步,在线完成gif动图制作
  7. 使用ROS-I接口通过MoveIt包安装和操作ABB机器人
  8. LVTTL、LVCOMS、SSTL和HSTL接口简单介绍
  9. python英雄联盟脚本是什么_Python3爬取英雄联盟英雄皮肤大图实例代码
  10. 2021湖南涟源高考成绩查询,2021娄底市地区高考成绩排名查询,娄底市高考各高中成绩喜报榜单...