作为算法工程师里的一小撮,相比机器学习、人工智能、视觉等算法工程师,运筹优化算法工程师在国内算是又小众又新鲜。作为近几年才慢慢进入大众视野的岗位,人们对其的认知和了解相对其他AI领域,还是较少的。比如我,其实也不清楚到底运筹优化的定位在哪。所以在这里和自己探讨下,看看如何成为一名更好的、合格的运筹优化算法工程师,给自己一个方向。如果有人不怕被坑,欢迎参考,当然更欢迎拍砖和补充。

引言

运筹学(operations research, OR)是研究如何为复杂的工程或者管理问题构建数学模型,以及如何分析模型以探索可能解决方案的一门学科。

这是运筹学,OR的定义,简而言之,作为一名OR人,解决的问题通常是通过三个步骤对现有场景或问题进行优化。

  1. 问题描述和建模
  2. 模型分析和数据分析
  3. 算法求解+应用
    所以这么一看,OR确实不如机器学习、深度学习、计算机视觉等学科那么高大上和牛逼,所以不推荐大家学习。因为工资比前者差很多,HC也差很多。(日常劝退)

基本要求

基本要求是要健康,能加班。
之后是具体的一些要求:

  1. 学历:本科学历劝退,除非你特别优秀,不过这种就推荐去海外读个硕士或博士回来。企业的要求百分之90%以上都是硕士学历起。对博士十分热爱,而且竞争也很激烈,博士很多,海外名校博士也很多,所以学历不够要么劝退,要么改行,要么继续深造。
  2. 专业:涉及运筹学的专业很多,包括并不限于应用数学,运筹学,计算机,工业工程,系统工程,物流工程,管理学等等。基本学习的课程包括运筹学,最优化理论,数值分析,线性代数,统计学,概率论,高数等等,对数学要求高。
  3. 编程能力:最重要,语言常用的有C/C++,Java,Python,Lua等,推荐C/C++,因为快。Python的话建议一定要掌握,完成日常业务和数据分析没问题,但是在工程化追求极致速度的算法的场景下就不推荐了。
  4. 建模和求解能力:cplex、gurobi等求解器必须会用一个,掌握建模三段论,熟悉基本的模型,能建初各种复杂约束,掌握常用线性化技巧。
  5. 数据处理和分析能力:掌握基本数据分析和处理能力,通常用Python做,也就是说,基本的机器学习方法和统计学方法和流程要会,因为模型的输入数据需要你处理和分析。
  6. 搜索能力:能在短时间内找到项目问题的相关资料和参考文献,筛选出有用的、好用的、靠谱的资料,然后复现,修改,比较,对比。
  7. 英语能力:至关重要
  8. 沟通能力
  9. 理解能力和知识量

拓展需求

  1. 丰富的项目经验
  2. 发表过顶级期刊
  3. 发表过垃圾期刊
  4. 丰富的大厂经验
  5. 高star的开源代码
  6. 优秀的比赛成绩
  7. 计算机专业背景
  8. 算法与数据结构精通
  9. 机器学习,强化学习,深度学习等

仿真验证

仿真真的很重要!
由于现实世界存在的不确定性、非线性模型、无法建模的问题、鲁棒性检验等,导致我们无法百分百确认效果。而如果能构建出一个与真实业务场景高度拟合的仿真世界,来测试我们的解决方案,简直完美。等于提前进行了中试的过程。而计算机仿真世界成本低,无危险,不干扰生产,可模拟各种参数情况,可运行无数次等等,给了我们打动领导和说服业务人员的最基本的武器。

  • 仿真通常需要如下技能:
  1. 离散事件仿真原理
  2. 仿真的语言与框架,商业仿真软件或开源框架都可
  3. 3D可视化
  4. 数据输出和数据分析

常见的业务场景

传统运输领域

VRP 车辆路径问题

  • 城市配送
  • 快递配送
  • 零担物流

PDP pickup and delivery problem 取送问题

  • 外卖配送
  • 同城闪送
  • 跑腿
  • 滴滴专车

DARP dial-a-ride problem

  • 滴滴拼车
  • 共享公交

share bike rebalance problem

  • 共享单车调度
  • 投放
  • 停车点选址

TSP 旅行商问题

  • 客户拜访
  • 门店巡查

facilitity location problem 设施选址问题

  • 门店选址
  • 仓库选址

hub location problem 枢纽选址问题

  • 轴辐式网络枢纽选址和分配

工业生产领域

2D/3D loading problem and bin packing problem 装箱问题

  • 货物装箱
  • 货物打包

cut stock 下料问题

  • 原材料分割
  • 磁盘打包

Job schedule,work shop

  • 流水线生产调度
  • 排班排产

航空领域

  • ARP 航班恢复
  • 航班计划
  • crew assignment

仓库

  • 选址
  • layout 设计
  • 货位分配
  • agv,rgv调度
  • 拣货调度的
  • 库存控制和管理
  • 补货管理

零售

dynamic price 动态定价

revenue management 收益管理

产品设计,广告管理

其他

常用的求解方法

精确算法

  • 枚举法 brute
  • 求解器:1)gurobi 2)cplex 3)SCIP 等 致敬国产求解器开发者!
  • BB,BC,BP,BCP
  • column generation
  • 拉格朗日乘子法
  • Benders decomposition

启发式

  • Construction Heuristics
  • Local Search
  • Metaheuristics:single trajectory & popluation based

全栈:五个维度

  1. 数据分析:找数据,辅助决策,指标
  2. 机器学习:预测,降低不确定性,发现规律
  3. 运筹优化:建立模型,寻找优化点,给出更好的解
  4. 仿真建模:验证,实验,测试
  5. 强化学习:online场景的新方向

工具

Git

  • 会使用git管理代码版本,实现备份、迭代与他人协作开发的能力
  • 推荐廖雪峰老师的课程

SCI-hub

  • 下载英文文献的神器,世界变得更美好的重要贡献者。
  • 请点击SCIHUB

PPT

  • 及其重要的工具,海量技巧值得玩味。

Markdown

  • 方便快捷,一般用有道云笔记或印象笔记
  • 本文也是用Markdown写的,可以自己在csdn用Markdown格式试着写一篇

Anaconda

  • 解决python相关的需求

Notepad++

  • 好用的文本编辑器

公众号

  1. 数据魔法师:华科的秦虎教授团队维护的,学习算法的良心地方,技术实力超强,每期的学术报告都是知识的海洋
  2. 航音绕梁:同济梁哲教授团队维护,航空OR最强,yyds
  3. 东南数智港:东南薛巍立教授团队维护,品类管理,强化学习,论文复现,我的珍藏
  4. 运筹&帷幄:有一些信息资讯,运筹偏少,AI挺多的,有庞大的社群维护

求职公司分析

阿里系

  1. 菜鸟
  2. 盒马
  3. 饿了么
  4. 阿里云
  5. MMC

快递系

  1. 顺丰科技
  2. 顺丰同城
  3. 丰巢
  4. 德邦
  5. 中通

航空系

  1. 春秋航空
  2. 四川航空
  3. 东方航空
  4. 悠桦林
  5. 派迩

互联网

  • 滴滴
  • 京东
  • 字节跳动
  • 网易
  • 华为

新独角兽

  • 美菜网
  • 货拉拉
  • 点我达
  • 便利蜂
  • 秒针系统
  • 松果出行
  • 钱大妈
  • 喜茶
  • 猿辅导

如何成为一名合格的运筹优化算法工程师?相关推荐

  1. 差分进化算法_特邀嘉宾 | 科普差分进化算法(创新奇智运筹优化算法工程师朱小龙博士)...

    文案:段克邪 排版:随心390 hello,大家好.各位可点击此处,访问公众号官方店铺.谨防上当受骗,感谢各位支持! 今天我们有幸请到创新奇智运筹优化算法工程师朱小龙博士为大家科普差分进化算法,本次推 ...

  2. 招募 | 大马鹿物流运筹优化算法工程师

    岗位描述 负责公司智能配送算法的开发.基于先进运筹优化理论结合实际场景和一线业务需求,联接信息系统,开发适合本公司的智能分单和路径规划算法. 负责智能配送算法的落地并不断迭代,保证实际应用的有效性与高 ...

  3. 杭州/北京内推 | 蚂蚁集团智能决策团队招聘运筹优化算法工程师/实习生

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 蚂蚁集团 蚂蚁集团-CTO 线-智能决策团队,有来自国内外 top 互联网 ...

  4. 阿里巴巴2018校园招聘运筹优化算法工程师编程题

    对于考试向来都是后知后觉,过后留下一堆不甘与遗憾--然而不行就是不行,再接再厉. 声明:涉及阿里校招笔试,如有侵权,请联系我删除. 一.带信号灯的最短路问题 1. 题目描述 现在城市有N个路口,每个路 ...

  5. 如何才能成为一名合格的web前端开发工程师

    如何才能成为一名合格的web前端开发工程师 开篇 前端开发是一个非常特殊的行业,它的历史实际上不是很长,但是知识之繁杂,技术迭代速度之快是其他技术所不能比拟的. winter在他的<重学前端&g ...

  6. linux还原系统_怎么成为一名合格的Linux运维工程师

    随着云时代的到来,企业对运维工程师提出了新的要求.以某银行Linux运维工程师招聘为例,应聘者不仅要熟悉Linux.Windows等操作系统运维,掌握Oracle数据库.Weblogic中间件技术及网 ...

  7. 成为一名合格且优秀的渗透工程师需要那些知识储备?

    成为一名合格且优秀的渗透工程师需要那些知识储备? 首先,你要有足够的兴趣支撑,这是最重要的.本人,信息安全的爱好者,入门渗透技术,学的是web渗透,一直以来都是自学,走了很多的弯路,之前想放弃过,不过 ...

  8. 一名阿里安全一线AI算法工程师的“三观”

    在阿里巴巴集团安全部,有一个专注于计算机视觉.自然语言处理.机器学习和深度学习的团队,其全称为阿里安全图灵实验室.该实验室的相关技术广泛应用于手淘.天猫.支付宝.闲鱼.优酷土豆.UC.阿里妈妈等核心业 ...

  9. IC设计职位介绍|如何成为一名合格的数字前端设计工程师?

    近年来IC行业火热,但因为一些原因,今年以来行业唱衰的人越来越多.尽管全球芯片市场过剩,但我国的半导体行业发展很可观,目前政策倾向国产芯片的发展,所以半导体人才非常稀缺.我国半导体产业终究要崛起,因为 ...

最新文章

  1. Kipmi0 占用100% CPU1核
  2. 从事单片机工作,C语言要达到什么水平?
  3. html中div裹div,html – 围绕div包裹textarea输入
  4. jsp打印日志完整配置
  5. mybatis中ResultSetHandler的设计与实现
  6. UI层调用WCF服务实例(源码)
  7. CodeForces 580A Kefa and First Steps
  8. keymap in ubuntu
  9. DeepFashion服装数据集
  10. Codeforces Round #436 (Div. 2) B. Polycarp and Letters
  11. 单元测试和sit测试和uat测试
  12. IE7和IE8的CSS样式不兼容
  13. Origin中多峰拟合方法
  14. 定向士官计算机网络技术在部队干什么,定向培养士官是干什么的
  15. 首席新媒体运营商学院黎想:裂变活动要避免40个坑!
  16. 谷歌浏览器Chrome开发者工具详解
  17. Terraria(泰拉瑞亚)存档覆盖(Linux)
  18. 实战技法 - 短线操盘 (2)
  19. 摄影测量外方位元素代码
  20. 华为HCIP认证对于大学生有没有用?毕业后有帮助吗?

热门文章

  1. python逐行写入文件_Python文件逐行写入
  2. 在Ubuntu中连接Vultr虚拟主机远程桌面
  3. 钉钉的自动打卡上下班辅助android软件
  4. 图解HTTP(四)—— 返回结果的HTTP状态码
  5. bas64-FileReader-base64-11.9-01
  6. redis数据库的设计实例
  7. Linux学习笔记:DNS
  8. csv文件导入后台乱码_教师使用Excel打开csv文件出现乱码怎么办-Leo老师
  9. maven开发web项目
  10. 行业elasticsearch容器化存储分离调研报告