作为算法工程师里的一小撮,相比机器学习、人工智能、视觉等算法工程师,运筹优化算法工程师在国内算是又小众又新鲜。作为近几年才慢慢进入大众视野的岗位,人们对其的认知和了解相对其他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. 年末福利,C/S应用升级更新完整解决方案放送
  2. Tool之Adobe:解决Adobe acrobat pro将PDF文件进行批量保存单页PDF文件(图文教程)
  3. Hystrix和ribbon的超时时长准确配置的理论依据
  4. 『设计模式』80年代的人们就已经领悟了设计模式-- 发布者/订阅者模式 (包括发布者/订阅者模式和观察者模式的区别)
  5. 打破双亲委派么,怎么打破_快速行动,不要打破事物
  6. Java正则获取a标签href_正则表达式,同时获取a标签里的href,text 的值
  7. 智能穿戴市场群雄逐鹿,OPPO入局能没有杀手锏?
  8. 程序员级别,你到哪一级?
  9. Windows XP优化设置之网络篇
  10. 基于C# 和Access数据库的电影院管理系统
  11. LBP特征算子原理过程
  12. 大数据Python基础——第三章 字符串加列表练习
  13. xilinx用户手册
  14. 1074 宇宙无敌加法器 (20 分) c语言实现
  15. 低智商社会,国家的品格,无形的大陆,
  16. 【NFC】Android NFC API Reference中英文
  17. 亚马逊 aws 指南 实战_减少您的AWS成本完整指南
  18. 【英语:语法基础】B7.核心语法-英文的基础时态
  19. 计算机工程与设计版面费多少,计算机工程与设计杂志
  20. html5简单制作效果,分享一个利用HTML5制作的海浪效果代码-H5教程

热门文章

  1. group by 取每组最新的一条
  2. MongoDB分组取每组中一条数据
  3. 语音怎么在线转文字,语音转文字的小技巧
  4. 大数据必学Java基础(二十六):数组的应用题
  5. mkvirtualenv: command not found 问题解决
  6. mac使用zsh终端环境变量配置无效的解决方案
  7. 网络安全运维人员面临的痛点分析
  8. Android 在分享列表添加自己的应用
  9. 氮化物 聚多巴胺修饰六方氮化硼|铁颗粒周期性填充的竹节状氮化硼纳米管|纳米氮化硼(BN)包覆的Al2O3复合粉|铜纳米线填充氮化硼纳米管
  10. arcgis 投影坐标系的区分