DW数模笔记——task03

第三章 函数极值与规划模型

在这一章中,我们将介绍函数极值与规划模型。约束条件下的极值求解是优化问题和运筹学研究的重点,也是各大数学建模竞赛中考察的重难点。它主要针对的是目标函数在约束条件下的极值,以及多种方案中的最优方案。本章主要涉及到的知识点有:

  • 线性规划的基本模型与求解
  • 非线性规划的基本模型与求解
  • 整数规划的基本模型与求解
  • 动态规划的基本模型与求解
  • 多目标规划的一般策略

注意:本章内容也可以在凸优化理论相关资料中学习到,是比较难的一章。除了Matlab、Python以外,有很多优化求解软件例如Lingo、Gurobi等也适合做优化问题。

3.1 从线性代数到线性规划

3.1.1 中学阶段线性规划的局限性

在高中阶段我们已经接触过线性规划的知识,虽然那时可能没有觉得它有多重要。通过一个例子回忆一下:

例3.1
若 ( x ), ( y ) 满足条件:
{ x + y ≥ 4 x − y ≤ 2 y ≤ 3 \left\{ \begin{align} &x + y \geq 4 \\ &x - y \leq 2 \\ &y \leq 3 \end{align} \right. x+y4xy2y3
则 ( z = 3x + y ) 的最小值为:
A. 18
B. 10
C. 6
D. 4

答案是选择 C。解题时,我们将不等式组中的不等式两两配对成三个二元一次方程组求解,得到三个点,然后把三个点分别代入 ( z = 3x + y ) 最后得到最小值。这个问题的可行域如下所示:

这个题目的解就是把不等式组里的每个不等式在平面直角坐标系中表示出来,然后根据不等号的方向确定可行域。将目标函数 ( y = -3x + z ) 平移直线的方式找到可行域内使目标函数截距最大的点,就是正确答案。

3.1.2 线性规划的基本形式

中学线性规划的局限性在于难以描述多约束、多变量。但无论是目标函数还是方程还是不等式,都可以看成是一个系数向量与变量向量在做乘法。例如:
[ 2a + 3b - c ]
可以看成向量 ([2, 3, -1]) 与向量 ([a, b, c]) 做内积。

线性规划的标准形式是:
Minimize (or Maximize) c T x Subject to A x ≤ b x ≥ 0 \begin{align} &\text{Minimize (or Maximize)} \quad c^T x \\ &\text{Subject to} \quad Ax \leq b \\ &x \geq 0 \end{align} Minimize (or Maximize)cTxSubject toAxbx0
其中,( c ) 是目标函数的系数向量,( A ) 是约束条件的系数矩阵,( b ) 是约束条件的常数向量,( x ) 是变量向量。

3.1.3 线性规划的几何解释

线性规划问题可以在几何上解释为寻找在多面体上的一个点,使得目标函数在该点取极值。可行域是由所有满足约束条件的点构成的集合,是一个凸多面体。目标函数是一个向量,在几何上可以看成一个方向,寻找使得目标函数最值的点就等价于在这个方向上移动,直到离开可行域。

3.1.4 线性规划的解法

常见的线性规划解法包括单纯形法和内点法。单纯形法是从可行域的一个顶点出发,通过边缘移动到另一个顶点,直到找到最优解。内点法则是从可行域内部出发,通过逼近边界找到最优解。

3.1.5 线性规划的应用

线性规划在实际生活中有广泛的应用。例如,在生产计划中,企业需要决定生产多少种产品以最大化利润,同时考虑原材料的有限性和生产能力的限制。在交通运输问题中,需要决定货物的运输路径以最小化运输成本。线性规划还可以用于金融投资组合优化、能源分配、网络流量优化等领域。

3.2 非线性规划

3.2.1 非线性规划的基本概念

非线性规划问题是指目标函数或约束条件中至少有一个是非线性的优化问题。非线性规划问题比线性规划问题更加复杂,因为它们可能有多个局部最优解,而不是一个唯一的全局最优解。

3.2.2 非线性规划的模型

非线性规划的标准形式是:
Minimize (or Maximize) f ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ X \begin{align} &\text{Minimize (or Maximize)} \quad f(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in X \end{align} Minimize (or Maximize)f(x)Subject togi(x)0(i=1,2,,m)hj(x)=0(j=1,2,,p)xX
其中,( f(x) ) 是目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( X ) 是变量的取值范围。

3.2.3 非线性规划的解法

非线性规划的解法包括梯度法、牛顿法、拉格朗日乘数法、罚函数法、内点法等。这些方法的核心思想是通过迭代逼近最优解,同时考虑约束条件。

3.2.4 非线性规划的应用

非线性规划在工程设计、经济管理、资源分配等领域有广泛应用。例如,在工程设计中,优化结构的强度和重量;在经济管理中,优化资源的配置以最大化收益;在能源分配中,优化能源的使用以最小化成本。

3.3 整数规划

3.3.1 整数规划的基本概念

整数规划问题是指变量只能取整数值的优化问题。整数规划问题分为纯整数规划、混合整数规划和二元整数规划。

3.3.2 整数规划的模型

整数规划的标准形式是:
Minimize (or Maximize) f ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ Z n \begin{align} &\text{Minimize (or Maximize)} \quad f(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in \mathbb{Z}^n \end{align} Minimize (or Maximize)f(x)Subject togi(x)0(i=1,2,,m)hj(x)=0(j=1,2,,p)xZn
其中,( f(x) ) 是目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( x ) 是整数向量。

3.3.3 整数规划的解法

整数规划的解法包括分枝定界法、割平面法、动态规划法等。这些方法的核心思想是通过划分问题和剪枝策略逐步逼近最优解。

3.3.4 整数规划的应用

整数规划在调度问题、路径优化、投资组合优化等领域有广泛应用。例如,在调度问题中,优化机器的调度以最小化生产时间;在路径优化中,找到最优的运输路径以最小化运输成本;在投资组合优化中,决定投资组合的构成以最大化收益。

3.4 动态规划

3.4.1 动态规划的基本概念

动态规划是一种将复杂问题分解为子问题,通过子问题的最优解构造原问题的最优解的方法。动态规划的核心思想是记忆化存储和递推。

3.4.2 动态规划的模型

动态规划的基本模型包括状态表示、状态转移方程和边界条件。状态表示是对问题的抽象描述,状态转移方程描述了从一个状态到另一个状态的变化,边界条件描述了问题的初始状态和终止状态。

3.4.3 动态规划的应用

动态规划在最短路径问题、背包问题、资源分配

问题等领域有广泛应用。例如,在最短路径问题中,找到从起点到终点的最短路径;在背包问题中,决定物品的选择以最大化背包的价值;在资源分配问题中,优化资源的分配以最大化收益。

3.5 多目标规划

3.5.1 多目标规划的基本概念

多目标规划是指同时优化多个目标函数的优化问题。这类问题通常没有唯一的最优解,而是有一个解的集合,称为帕累托最优解。

3.5.2 多目标规划的模型

多目标规划的标准形式是:
Minimize (or Maximize) f 1 ( x ) , f 2 ( x ) , … , f k ( x ) Subject to g i ( x ) ≤ 0 ( i = 1 , 2 , … , m ) h j ( x ) = 0 ( j = 1 , 2 , … , p ) x ∈ X \begin{align} &\text{Minimize (or Maximize)} \quad f_1(x), f_2(x), \ldots, f_k(x) \\ &\text{Subject to} \quad g_i(x) \leq 0 \quad (i = 1, 2, \ldots, m) \\ &h_j(x) = 0 \quad (j = 1, 2, \ldots, p) \\ &x \in X \end{align} Minimize (or Maximize)f1(x),f2(x),,fk(x)Subject togi(x)0(i=1,2,,m)hj(x)=0(j=1,2,,p)xX

其中,( f_1(x), f_2(x), \ldots, f_k(x) ) 是多个目标函数,( g_i(x) ) 是不等式约束,( h_j(x) ) 是等式约束,( X ) 是变量的取值范围。

3.5.3 多目标规划的解法

多目标规划的解法包括权重法、理想点法、ε约束法等。这些方法的核心思想是通过将多个目标函数转化为单个目标函数或通过约束条件逼近帕累托最优解。

3.5.4 多目标规划的应用

多目标规划在工程设计、经济管理、环境保护等领域有广泛应用。例如,在工程设计中,优化产品的性能和成本;在经济管理中,优化收益和风险;在环境保护中,平衡经济发展和环境保护。

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

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

相关文章

结构冒险,控制冒险,数据冒险实例分析

目录 1.结构冒险: 2.数据冒险: 3.控制冒险: 指令执行过程: 取指(IF):从指令存储器或 Cache 中取指令。 译码/读寄存器(ID):操作控制器对指令进行译码,同时从寄存器堆中取操作数。 执行/计算地…

GPT-5:迈向“博士级”智能的新纪元

标题:GPT-5:迈向“博士级”智能的新纪元 随着OpenAI首席技术官米拉穆拉蒂确认GPT-5将在一年半后发布,我们站在了人工智能发展的又一个重要节点。GPT-5的问世,预示着我们即将进入一个全新的AI时代。本文将从技术突破、智能系统与人…

黑鹰优化算法(BEO)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取

声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~ 目录 原理简介 一、种群初始化 二、围捕行为 三…

qt qml-Table表格组件

文章目录 示例代码代码详解运行效果扩展功能总结在QML中创建一个表格组件,可以使用 TableView 或 TableView 结合 ListModel 和 TableViewColumn。下面是一个完整的示例,展示了如何使用这些组件创建一个简单的表格,并附上详细的代码说明。 示例代码 main.qml import Q…

OpenVINO部署

OpenVINO部署 什么是 OpenVINO?OpenVINO 的优势安装指南系统要求:安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO? OpenVINO(Open Visual Inference and Neural Network Optimization)是由…

centos上快速搭建zfile文件网站

什么是zfile? zfile文件网站是最方便快捷的在线目录展示程序,支持将本地文件、FTP、SFTP、S3、OneDrive 等存储在网站上展示并浏览! 本教程参考: https://docs.zfile.vip/install/os-linux复现 今天的搭建环境是centos7.9 第一…

如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 先决条件 本教程假设您已经在Debian 7或类似的Linux发行版(如Ubuntu)上设置了您的droplet(VPS&#…

Spring Boot 整合 JSP

Spring Boot 是一个开源的 Java 框架,用于创建独立、生产级的基于 Spring 框架的应用程序。它简化了基于 Spring 的应用程序的创建和部署过程。JSP(JavaServer Pages)是一种动态网页技术,允许开发者在 HTML 中嵌入 Java 代码。将 …

时间戳转换日期格式 filters实现

filters: { time: function time(value) { const now new Date(value) const y now.getFullYear() const m now.getMonth() 1 const d now.getDate() return ${y}-${m < 10 ? 0${m} : m}-${d < 10 ? 0${d} : d} ${now .toTimeString() .substr(0, 8)} } …

简单的springboot整合activiti5-serviceImpl部分(1)

简单的springboot整合activiti5.22.0-serviceImpl部分(1) 原来的流程serviceImpl部分代码过多&#xff0c;所以此处单独记录一下&#xff0c;此处记录的是serviceImpl第一部分代码 package cn.git.workflow.service.impl;import cn.git.cache.api.BaseCacheApi; import cn.gi…

CSS|03 尺寸样式属性文本与字体属性

尺寸样式属性 height:元素高度height的值&#xff1a;auto 自动length 使用px定义高度% 基于包含它的块级对象的百分比高度 width&#xff1a;元素的宽度width的值与height一样span标签可以设置宽度、高度吗&#xff1f; 答&#xff1a;不可以&#xff0c;因为span标签是一个行…

A-8 项目开源 qt1.0

A-8 2024/6/26 项目开源 由于大家有相关的需求&#xff0c;就创建一个项目来放置相关的代码和项目 欢迎交流&#xff0c;QQ&#xff1a;963385291 介绍 利用opencascade和vulkanscene实现stp模型的查看器打算公布好几个版本的代码放在不同的分支下&#xff0c;用qt实现&am…

科技赋能·创领未来丨智合同和百胜中国就Contract AI Studio项目达成合作

#智合同 #百胜中国 #AIGC #NLP #LLM #Contract AI Studio 近期&#xff0c;国内AIGC和LLM大语言模型发展可谓是如火如荼&#xff0c;其迅速崛起为社会和产业发展起到了非常重要的作用。人们利用AI技术&#xff08;AIGC、LLM大语言模型、NLP等&#xff09;将其赋能到企业生…

华为仓颉编程语言

目录 一、引言 二、仓颉编程语言概述 三、技术特征 四、应用场景 五、社区支持 六、结论与展望 一、引言 随着信息技术的快速发展&#xff0c;编程语言作为软件开发的核心工具&#xff0c;其重要性日益凸显。近年来&#xff0c;华为公司投入大量研发资源&#xff0c;成功…

记录待办事项的便签软件哪个好用?

在快节奏的现代生活中&#xff0c;我们经常需要处理各种各样的待办事项&#xff0c;为了更好地管理时间&#xff0c;许多人选择使用便签软件来记录自己的待办事项。那么&#xff0c;记录待办事项的便签软件哪个好用&#xff1f;市面上众多的便签软件中&#xff0c;哪一个才是最…

强引用、软引用、弱引用、幻象引用有什么区别?

强引用:我们平常典型编码Object obj new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运 行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于…

红队py项目-AWVSsqlmapXray

免责声明:内容仅供参考... 目录 AWVS自动添加任务字典 AWVS环境: SQLmap api 自动扫描 Xray 扫描漏洞发现报告 AWVS自动添加任务字典 AWVS13批量脚本_111111111115-CSDN博客 import requests, json# https://blog.csdn.net/wy_97/article/details/106872773 # 创建任务…

【C++题解】1715. 输出满足条件的整数5

问题&#xff1a;1715. 输出满足条件的整数5 类型&#xff1a;简单循环 题目描述&#xff1a; 有这样一个四位数,其千位和百位之和为偶数&#xff0c;十位和个位之和为奇数&#xff0c;且前两位之和大于后两位之和&#xff0c;且含有因数 8 &#xff0c;请输出满足上述条件的…

如何确保日常安全运维中的数据加密符合等保2.0标准?

等保2.0标准下的数据加密要求 等保2.0标准是中国信息安全等级保护制度的升级版&#xff0c;它对信息系统的安全保护提出了更为严格的要求。在日常安全运维中&#xff0c;确保数据加密符合等保2.0标准&#xff0c;主要涉及以下几个方面&#xff1a; 数据加密技术的选择&#xff…

49-3 内网渗透 - MSI安 装策略提权

靶场环境搭建: 这里还是用我们之前的windows2012虚拟机进行搭建 1)打开一些设置让靶场存在漏洞 打开组策略编辑器(gpedit.msc) 使用运行命令打开: 按下 Win + R 组合键来打开运行对话框。输入 gpedit.msc,然后按下 Enter 键。使用搜索打开: 点击任务栏上的搜索框(W…