如何学习优化?
我是(大部分)纯数学系的二年级博士生。我以前在应用数学方面没有任何经验,但最近我改变了主意,决定学习最优化,目的是毕业后进入工业界。我已经开始阅读一些
解答动态
这个问题的答案主要是基于观点的,因此对stackexchange不太实用。
不过,我的看法是,我在学术界和工业界都有经验。我首先要区分知识和知识技能:理解不同的优化模型和技术(知识)你必须开发一个工具箱的优化方法,这样给定一个问题,你可以应用'正确'的工具来解决问题。这需要对各种方法有深入的了解,以便能够评估哪些方法可行,哪些方法不可行工作。理解一个问题领域(知识)如果你至少有一个你擅长的问题领域,了解解决该领域问题常用的不同模型,知道还有谁在这个领域工作,了解最先进的技术。想想医疗保健(如名册)、交通(如路线安排)或日程安排等领域。你可能会说,一个有优化技能的人可以解决任何领域的问题,但在实践中,如果你在某个特定领域有经验的话,这会有很大的帮助域能力要实现模型、编程(技能),尤其是在工业中,您必须能够实现、测试和评估您的模型。大多数公司需要熟悉编程语言(java/C+++c/y/python),一个求解器(XPress/GuRui/CPLEX),有时也需要matlab能力在大数据时代,为了处理和分析数据,以及使结果具有可解释性(技能),数据处理和分析技能是必不可少的。Python和matlab是目前最常用的。统计知识也是一项重要的技能必备能力要提取正确的优化问题(技能),这也许更像是一种软技能。很多时候,当你在工业界工作时,给你的问题会非常模糊。你的任务是提出正确的问题,提炼出正确的问题来解决。通常情况下,拥有问题的人是非技术性的,没有优化背景,要理解需要解决的实际问题需要付出相当大的努力(这可能与问题所有者提出的问题大不相同),你将接受上述所有方面的测试。如果你有知识,但没有技能,反之亦然,你有一个明确的方向来改进什么。显然,上面列出的知识和技能是很丰富的,你不可能一下子就掌握它们。最自然的方法是通过解决实际问题获得实践经验。阅读你感兴趣的领域的,寻找那些由现实问题(而不是程式化的学术问题)引发的,并注意这些使用什么样的数据源来进行实验评估。举个例子,Bertsimas教授和van Hentenryck教授都有一些非常有趣的关于在线、大规模车辆路径和共享/交通问题的。
最后,你在学术和用于解决行业问题的模型之间经常会发现不同的模型。工业中的模型通常要求具有可伸缩性、可实现性、可维护性、可解释性和可扩展性,必须在非常有限的时间内开发,必须能够处理各种现实世界的约束以及数据输入中的不确定性和不精确性。在实践中,您经常需要在性能和复杂性之间做出折衷。- End
免责声明:
本页内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与琴岛网公司无关。本页内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。