运筹说 第95期 | 非线性规划奠基人——库恩与塔克

经过之前的学习,相信大家已经对运筹学的网络计划的内容有了一定的了解,接下来小编将带你学习新一章——非线性规划的内容,让我们先来了解一下非线性规划的诞生和发展历程,然后共同走近非线性规划领域的代表人物——库恩和塔克,去领略他们精彩的一生。

1、非线性规划的发展起源(标志着非线性规划诞生的历史性事件)

非线性规划是一种优化问题,它的目标函数和约束条件包含非线性的数学表达式。它的发展历史可以追溯到20世纪早期,但其正式诞生可以追溯到1940年代末和1950年代初期的工作。

非线性规划模型

首先,我们先来回顾一下线性规划是如何诞生的,在此基础上再去探究非线性规划的起源。线性规划(Linear Program)的萌芽出现于第二次世界大战前后。1939年前苏联数学家康托洛维奇(Leonid V. Kantorovich)出版了著作《生产组织和计划中的数学方法》,在书中提出了线性规划模型,用来解决下料问题和运输问题,这标志着线性规划的诞生。随着线性规划领域的不断深耕与发展,人们开始意识到线性规划方法的局限性,即它只适用于目标函数和约束条件是线性的问题。

随着这一发现,人们开始寻找解决非线性规划问题的方法。1951年,美国数学家乔治·丹齐克(George Dantzig)在一篇论文中提出了求解线性规划问题的第一个有效方法,称为“单纯形法”。这种方法扩展了求解线性规划问题的思路,并在此基础上得出了可分离规划和二次规划的n种解法。丹齐克提出的单纯形法具有划时代的意义,也为后续各种非线性规划问题的求解方法的提出和发展奠定了基础。同年,哈罗德·库恩 (Harold Kuhn)和阿尔伯特·W·塔克(Albert W. Tucker)发表了一篇关于最优性条件(即库恩塔克条件)的论文,标志着非线性规划的诞生。

2、非线性规划的发展历程(有时间节点的发展阶段描述)

  1. 初期阶段(20世纪早期-1950年代)

在非线性规划问题的发展初期,主要集中在问题的形式化和求解方法的探索上。其中一些重要的事件如下:

  • 1917年,俄国数学家A.D.亚历山德罗夫(A. D. Александров)提出了非线性规划问题,他将非线性规划问题转化为求解最大值或最小值的问题。

  • 1939年,安斯特尼(Hestenes)和斯蒂菲尔(Stiefel)发表了一篇论文,提出了梯度投影法,这是非线性规划中最早的求解方法之一。该方法通过投影操作将约束条件转化为线性形式,从而得到一个可求解的问题。

  • 1951年,乔治·丹齐克(George      Danzick)提出了线性规划的单纯性算法,为优化问题的求解提供了更为高效的方法。

  • 1951年,哈罗德·库恩      (Harold Kuhn)和阿尔伯特·W·塔克(Albert W. Tucker)发表了一篇关于最优性条件(后来称为库恩-塔克条件)的论文,是非线性规划正式诞生的一个重要标志。

  1. 研究进展(1960年代-1970年代)

在这一时期,非线性规划问题的研究进展迅速,主要集中在理论分析和算法的改进上。其中一些重要的事件如下:

  • 1960年代,库恩(Kuhn)和塔克(Tucker)提出了对偶理论,将线性规划的理论扩展到了非线性规划中。他们发现非线性规划的对偶问题可以通过求解原始问题的拉格朗日函数最小化问题来得到,从而得到原始问题的最优解。

  • 1963年,鲍威尔(Powell)提出了逐步优化算法,该算法是目前最有效的非线性规划优化方法之一。该算法通过迭代地求解一系列线性规划子问题来逼近非线性规划问题的最优解。

  • 1978年,洛克菲勒(Rockafellar)发表了《凸分析》,该书成为凸优化的标志性著作。凸优化是非线性规划中一个重要的子领域,该书的出版对凸优化理论和算法的发展做出了重要贡献。

  1. 新的进展(1980年代-1990年代)

在这一时期,随着计算机技术的发展,非线性规划问题的求解能力得到了进一步的提高。其中一些重要的事件如下:

  • 1983年,格瑞万克(Griewank)和科利斯(Corliss)发表了一篇论文,介绍了自适应正则化方法,该方法用于求解非线性规划中的约束问题。该方法通过将罚函数参数调整为自适应值,从而避免了罚函数参数选取不当导致的数值不稳定问题。

  • 1987年,诺赛达尔(Nocedal)和赖特(Wright)发表了《数值优化》,该书成为了现代优化算法的重要参考书。该书涵盖了各种优化算法的理论基础和实现方法,包括非线性规划的优化算法。

  • 1988年,鲍威尔(Powell)发表了一篇论文,提出了新的信赖域算法,该算法通过迭代求解一系列局部二次近似模型来逼近非线性规划问题的最优解。这个算法适用于具有复杂结构和多个局部最优解的问题。

  • 1990年代,人工神经网络和遗传算法等新的算法开始应用于非线性规划问题的求解。这些算法具有一定的鲁棒性和全局搜索能力,可以用于求解具有复杂结构和非凸约束的非线性规划问题。

  1. 现代发展(21世纪)

在21世纪,随着计算机性能的不断提高和优化算法的发展,非线性规划问题的求解能力得到了进一步的提高。其中一些重要的事件如下:

  • 2001年,诺赛达尔(Nocedal)和赖特(Wright)合著了《数值优化》,该书第二版更新了现代优化算法的理论和应用,涵盖了更多的数值算法和计算实例。

  • 2006年,鲍伊德(Boyd)和范登贝格(Vandenberghe)合著了《凸优化》,该书介绍了凸优化的理论和算法,并将其应用于机器学习和信号处理等领域。

  • 2014年,有关学者提出了一种新的非线性规划算法,称为两阶段方法。该方法通过将非线性规划问题转化为两个子问题,一个是最优性子问题,一个是可行性子问题,从而在不需要求解KKT条件()的情况下得到非线性规划问题的最优解。

  • 2020年,Google发表了一篇论文,介绍了他们开发的一个基于机器学习的非线性规划求解器。该求解器使用神经网络对非线性规化问题进行建模和求解,通过学习已有问题实例的解决方法,从而更快速、准确地求解新问题。

注:KKT最优化条件是卡罗需(Karush)以及库恩(Kuhn)和塔克(Tucker)先后独立发表出来的,但在库恩(Kuhn)和塔克(Tucker)发表之后才逐渐受到重视,因此多数情况下记载成库恩-塔克条件(Kuhn-Tucker conditions)。

        KKT(Karush-Kuhn-Tucker)条件,是非线性规划领域里最重要的理论成果之一,是确定某点为极值点的必要条件。对于凸规划,KKT点就是优化极值点(充分必要条件)。

3、非线性规划领域的风云人物(库恩和塔克的生平介绍)

简单了解过非线性规划的起源和发展历程后,想必各位读者朋友对上文提到的对非线性规划的诞生与发展作出重大贡献的两位著名科学家——库恩和塔克感到十分好奇,下面小编将带着大家一起去了解一下库恩和塔克。

库恩:

基本介绍

哈罗德·W·库恩(Harold W. Kuhn),1925年7月29日-2014年7月2日)是美国著名数学家,主要研究领域是优化理论、博弈论和组合数学等方面。

生平纪事

哈罗德·库恩 (Harold Kuhn) 于1925年出生于加利福尼亚州圣莫尼卡。尽管1944年至1946年在美国陆军服役,但他仍于1947年从加州理工学院毕业,之后他进入普林斯顿大学攻读数学研究生。于1948年获得硕士学位,然后获得博士学位。毕业后,他在普林斯顿大学任教并继续从事数学研究,直到1959年转到普林斯顿高等研究院。他在普林斯顿高等研究院工作了大约30年,并在此期间成为数学、经济学和计算机科学领域的重要人物。

塔克:

基本介绍

阿尔伯特·W·塔克(Albert W. Tucker)(1905年11月28日—1995年1月25日)是一位美国著名的数学家、运筹学家和经济学家。他是20世纪50年代最杰出的运筹学家之一,被誉为“运筹学之父”。

阿尔伯特·W·塔克(Albert W. Tucker)


生平纪事

阿尔伯特·塔克(Albert William Tucker),加拿大人,1905年出生于加拿大,1928年获得多伦多大学学士,1932年获得普林斯顿大学博士,博士导师是所罗门·莱夫谢茨。1932-33年他在哈佛大学和芝加哥大学做研究,1933年他开始长期在普林斯顿大学数学系任教,1974年退休,1995年去世。他担任普林斯顿大学数学系的系主任长达20年。1961-62年他担任美国数学协会(MAA)主席。在晚年,他继续从事运筹学和组合优化等领域的研究,并且与其他著名的数学家,如约翰·冯·诺伊曼(John von Neumann)和乔治·达内(George Dantzig)合作。阿尔伯特·W·塔克于1995年去世,享年80岁。他留下了许多具有重要意义的数学贡献和著作,对运筹学和组合优化领域产生了深远的影响。

库恩与塔克

说起库恩与塔克的关系,就不得不提到一个关键人物——约翰·冯·诺伊曼(John von Neumann),两人都是约翰·冯·诺伊曼的学生,也就是师兄弟。有趣的是,美国著名数学家、经济学家、《美丽心灵》男主角原型约翰·福布斯·纳什(John Forbes Nash)是库恩一生的朋友和同事,而塔克又是纳什在普林斯顿大学的研究生论文导师。库恩与塔克师出同门,两人虽相差20岁,却痴迷于相同的研究领域,他们受到老师约翰·冯·诺伊曼的影响,将博弈论和优化理论相结合,开创了博弈论在经济学和管理学等领域的应用。在非线性规划领域,也提出了具有划时代意义的KKT条件,标志着非线性规划的正式诞生。库恩与塔克在自己的专业领域不断深耕,学术成果在相关领域影响深远,两人也一起获得了1980年约翰·冯·诺依曼理论奖,名垂青史。

库恩与纳什(左一为库恩)

结语:作为每一章的第一篇推文,引出下面的推文内容。

看到这里,大家是不是对非线性规划的诞生和发展过程以及做出突出贡献的名家有了更深入的了解呢?下面就让我们继续探索非线性规划世界的其他内容吧!

作者 | 葛彦泽  张巧英

责编 | 陈梦

审核 | 徐小峰

YUNCHOUSHUO!

·知乎|运筹说·

·bilibili|运筹说·

·CSDN|运筹说·

·抖音|运筹说·

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/632916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2.控制语句

1.分支语句/判断语句 if 语句 if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 */ } if…else 语句 if(boolean_expression) { /* 如果布尔表达式为真将执行的语句 / } else { / 如果布尔表达式为假将执行的语句 */ } if…else if…else语句 if(boolean_expressi…

【BERT】详解

BERT 简介 BERT 是谷歌在 2018 年时提出的一种基于 Transformer 的双向编码器的表示学习模型,它在多个 NLP 任务上刷新了记录。它利用了大量的无标注文本进行预训练,预训练任务有掩码语言模型和下一句预测,掩码语言模型指的是随机地替换文本中…

Python基础学习:同步异步阻塞与非阻塞

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 一、状态介绍 在了解其他概念之前,我们首先要了解进程的几个状态。 在程序运行的过程中,由于被操作系统的调度算法控制,程序…

k8s---pod控制器

pod控制器发的概念: 工作负载,workload用于管理pod的中间层,确保pod资源符合预期的状态。 预期状态: 1、副本数 2、容器重启策略 3、镜像拉取策略 pod出故障的出去等等 pod控制器的类型: 1、replicaset&#xf…

可达性分析

可达性分析 这个算法的基本思路就是通过 一系列称为“GC Roots”的根对象作为起始节点集,从这些节点开始,根据引用关系向下搜索,搜索过 程所走过的路径称为“引用链”(Reference Chain),如果某个对象到GC …

力扣22. 括号生成

回溯 思路&#xff1a; 定义函数 dfs(item, open, close, n) 表示当前 item 有左括号个数 open 和右括号个数 close &#xff1b;使用递归&#xff0c;长度为 n 的序列就是在长度为 n - 1 的序列后加左括号或者右括号&#xff1a; 先放左括号&#xff0c;只要其个数 < n&am…

SSL证书自动化管理有什么好处?如何实现SSL证书自动化?

SSL证书是用于加密网站与用户之间传输数据的关键元素&#xff0c;在维护网络安全方面&#xff0c;管理SSL证书与部署SSL证书一样重要。定期更新、监测和更换SSL证书&#xff0c;可以确保网站的安全性和合规性。而自动化管理可以为此节省时间&#xff0c;并避免人为错误和不必要…

微信原生小程序上传与识别以及监听多个checkbox事件打开pdf

1.点击上传并识别 组件样式<van-field border"{{ false }}" placeholder"请输入银行卡卡号" model:value"{{bankNo}}" label"卡号"><van-icon bindtap"handleChooseImg" slot"right-icon" name"sca…

IDEA中启动项目报堆内存溢出或者没有足够内存的错误

1.报错现象 java.lang.OutOfMemoryError: Java heap space 或者 Could not reserve enough space for object heap 2.解决办法 在运行配置中VM选项后加下面的配置&#xff1a; -server -XX:MaxHeapSize256m -Xms512m -Xmx512m -XX:PermSize128M -XX:MaxPermSize256m 3.JVM虚…

单表查询练习

目录 题目&#xff1a; 制定约束&#xff1a; 添加表格信息&#xff1a; 所需查询的信息&#xff1a; 实验步骤&#xff1a; 第一步&#xff1a;制作表格 创建新的数据库 创建表格约束&#xff1a; 为表格加入数据&#xff1a; 第二步&#xff1a;查询信息 题目&…

Red Hat Enterprise Linux 7.9 安装图解

引导和开始安装 选择倒计时结束前&#xff0c;通过键盘上下键选择下图框选项&#xff0c;启动图形化安装过程。 安装语言选择 这里要区分一下&#xff0c;当前选中的语言作为安装过程中安装器所使用的语言&#xff0c;这里我们选择中文简体。不过细心的同学可能发现&#xff0c…

OpenGL ES之深入解析如何绘制“跳动的心“特效

最近在浏览技术网站时,偶然间发现如下这个"跳动的心"特效,觉得蛮好玩的,当得知这个特效是用纯代码实现(GLSL 实现)的,确实又被惊到:追溯该特效最初的来源,最终在 ShaderToy 网站看到它的原始实现,另外在 ShaderToy 上还发现了无数类似惊人的特效,并且这些特…

JVM:性能监控工具分析和线上问题排查实践

前言 在日常开发过程中&#xff0c;多少都会碰到一些jvm相关的问题&#xff0c;比如&#xff1a;内存溢出、内存泄漏、cpu利用率飙升到100%、线程死锁、应用异常宕机等。 在这个日益内卷的环境&#xff0c;如何运用好工具分析jvm问题&#xff0c;成为每个java攻城狮必备的技能…

小程序进阶学习(视频完结)(核心,重点)

首先上面是一个视频播放器 把视频的宽度设置为100%即可铺满全屏 然后视频的标题和作者 最后就是一个视频播放列表 &#xff0c;设置一个固定位置开始滚动即可 还有一个问题没有解决&#xff0c;大家出出主意。 在播放页面在点击一个新的视频去播放&#xff0c;点进去的新视频获…

C/C++ BM6判断链表中是否有环

文章目录 前言题目解决方案一1.1 思路阐述1.2 源码 解决方案二2.1 思路阐述2.2 源码 总结 前言 做了一堆单链表单指针的题目&#xff0c;这次是个双指针题&#xff0c;这里双指针的作用非常明显。 题目 判断给定的链表中是否有环。如果有环则返回true&#xff0c;否则返回fal…

计算机网络-ACL实验

一、NAT实验配置 NAT实验配置 通过基本ACL匹配VLAN 10网段&#xff0c;然后在出口设备NAT转换只要匹配到VLAN10地址则进行转换。 核心交换机 # 配置VLAN和默认路由&#xff0c;配置Trunk和Access接口 interface Vlanif10ip address 192.168.10.254 255.255.255.0 # interface V…

深入了解WPF控件:基础属性与用法(五)

掌握WPF控件&#xff1a;熟练常用属性&#xff08;五&#xff09; Image 是一种在WPF应用程序中显示图片的方式。它可以用于显示静态图片&#xff0c;也可以用于显示动态图片&#xff0c;如GIF。此外&#xff0c;Image控件还可以自适应大小&#xff0c;根据容器的大小自动调整…

关于gltf模型格式文件的学习

目录 glTF模型 小黄鸭的gltf模型 字段分析 scene nodes meshes primitives attributes indices mode material accessors bufferView byteOffset count componentType type materials textures images samplers magFilter与minFilter wrapS与wrapT 进行…

高效火情监测,科技助力森林防火【数字地球开放平台】

数字地球开放平台-以卫星遥感为核心的空天信息服务开放平台 (geovisearth.com) 2019年3月30日&#xff0c;四川省凉山州木里县爆发了一场森林火灾&#xff0c;火点位于海拔3800米左右&#xff0c;地形险峻、坡度陡峭、谷深难以抵挡火势。在扑救的过程中&#xff0c;27名森林消防…

最小公倍数之和(莫比乌斯反演P3911)

路径&#xff1a; P3911 最小公倍数之和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<string> #include<cstring> #include<cmath> #include<…