数学建模 —— 数学规划模型(5)

目录

一、数学规划

1.1 数学规划问题一般形式

二、常见规划模型

2.1 线性规划(Linear Programming)

2.1.1 定义   

2.1.2 一般形式

2.1.3 标准形式

2.1.4 求解

2.2 整数规划(Integer Programming)

2.2.1 单目标规划

2.2.2 两目标规划

2.3 非线性规划(Nonlinear Programming)

2.3.1 定义

2.3.2 灵敏性及稳健性分析

2.3.3 求解

三、注意

一、数学规划

        数学规划(Mathematical Programming)是应用数学的一个重要分支,并非指某种特定的面向数学的计算机编程技术。

        该术语由哈佛大学的Robert Dorfman最先使用,其初始含义具有相当的包容性,从数学的角度表达了人们处理实际问题的一种理念。如下图所示:

 五步法建模:

1.1 数学规划问题一般形式

        满足约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域

        于是数学规划问题可以表述为:求满足约束条件的x * ,使f(x * )成为最优最小或最大值),而将x * 称为数学规划问题的最优解,将f * f(x * )称为最优值。相当于高等数学里的条件极值。

        数学规划的研究对象是数值最优化问题,所以,数学规划现在被通俗的称为最优化(optimization)

二、常见规划模型

2.1 线性规划(Linear Programming)

2.1.1 定义   

数学规划模型中,如果

1)目标函数为决策变量的线性函数;

2)约束条件为决策变量的线性等式或线性不等式,

则称之为线性规划(Linear programming,记为LP

2.1.2 一般形式

目标函数  

                

2.1.3 标准形式

目标函数 

                 

或 

 

2.1.4 求解

2.2 整数规划(Integer Programming)

2.2.1 单目标规划

定义:数学规划中的变量(部分或全部)限制为整数时,称为整数规划。缩写IP

若在线性规划中,变量限制为整数,则称为整数线性规划。若无特别说明,整数规划一般指整数线性规划 

若整数规划中某个变量仅取01,则称为 0-1型整数规划

分类:变量全部限制为整数时,称为纯(完全)整数规划。

           变量部分限制为整数时,称为混合整数规划。

特点

1原线性规划有最优解,当变量限制为整数后,整数规划解的可能情况:

          ①原线性规划的最优解全为整数,则整数规划的最优解不变;

          ②整数规划无可行解;

          ③有可行解(当然就存在最优解),但最优解值变差。

2整数规划最优解不能按实数最优解简单取整而获得。

2.2.2 两目标规划

若进行加权形成一个目标: 

2.3 非线性规划(Nonlinear Programming)

2.3.1 定义

定义:如果线性规划的目标函数或约束函数中含非线性函数,则称之为非线性规划。

注意

1线性规划与非线性规划区别,若线性规划的最优解存在,则只能在可行域的边界特别是顶点达到,而非线性规划则可能在可行域的任意一点达到;

2非线性规划目前没有一般的算法,各方法都有特定的适用范围,解非线性规划问题比解线性规划问题困难很多。

2.3.2 灵敏性及稳健性分析

(1)灵敏性

        数学建模的整个过程从一些假设开始,但我们很少能保证这些假设是完全正确的,因此需要考虑所得结果对每一条假设的敏感程度。

(2)稳健性

        一个数学模型称为稳健的,是指即使模型不完全精确,由其导出的结论也是可靠的。

2.3.3 求解

1无约束条件最优解:多元函数求极值;

         有约束条件最优解:条件极值,拉格朗日乘数法

2)计算软件

         用Matlab工具箱求解非线性规划问题(略)

三、注意

1尽量使用实数优化,减少整数约束和整数变量

2尽量使用光滑优化,减少非光滑约束的个数

      如:尽量少使用绝对值、符号函数、多个变量求最大/最小

      值、四舍五入、取整函数等

3尽量使用线性模型,减少非线性约束和非线性变量的个数

         (如x/y <5 改为x<5y

4合理设定变量上下界,尽可能给出变量初始值

5模型中使用的参数数量级要适当     (如小于103)

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

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

相关文章

RT_thread nano移植Finsh

参考连接: https://blog.csdn.net/baseball214/article/details/131341722 移植的前提是,你已经有一个可以使用的nano功能. 1.将rtthread-nano-master\rt-thread\components文件复制到工程. 2.添加Finsh中的.c以及相关.h头文件路径 3.注释掉finsh_config.h文件中以下两个宏…

C语言中的数据类型转换:隐式类型转换与显示类型转换

一. 简介 本文简单学习一下&#xff0c;C语言中的数据类型转换。重点学习一下隐式类型转换。 二. C语言中的数据类型转换&#xff1a;隐式类型转换与显示类型转换 类型转换&#xff08;TypeCasting&#xff09;&#xff1a;在C语言中是将一种数据类型值转换为另一种数据类型…

transfomer中attention为什么要除以根号d_k

简介 得到矩阵 Q, K, V之后就可以计算出 Self-Attention 的输出了&#xff0c;计算的公式如下: A t t e n t i o n ( Q , K , V ) S o f t m a x ( Q K T d k ) V Attention(Q,K,V)Softmax(\frac{QK^T}{\sqrt{d_k}})V Attention(Q,K,V)Softmax(dk​ ​QKT​)V 好处 除以维…

leetcode102. 二叉树的层序遍历

一、题目描述&#xff1a; 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 二、输入输出实例&#xff1a; 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&am…

基于 Redis 实现分布式锁的全过程

前言 这一篇文章拖了有点久&#xff0c;虽然在项目中使用分布式锁的频率比较高&#xff0c;但整理成文章发布出来还是花了一点时间。在一些移动端、用户量大的互联网项目中&#xff0c;经常会使用到 Redis 分布式锁作为控制访问高并发的工具。 一、关于分布式锁 总结&#x…

20.Redis之缓存

1.什么是缓存&#xff1f; Redis 最主要的用途,三个方面:1.存储数据(内存数据库)2.缓存 【redis 最常用的场景】3.消息队列【很少见】 缓存 (cache) 是计算机中的⼀个经典的概念. 在很多场景中都会涉及到. 核⼼思路就是把⼀些常⽤的数据放到触⼿可及(访问速度更快)的地⽅, ⽅…

基础—SQL—DQL(数据查询语言)聚合函数

一、引言 一般情况下&#xff0c;我们在进行分组查询的时候&#xff0c;一般配合着聚合函数来进行操作&#xff0c;所以先了解和学习聚合函数再学习和操作分组查询。 二、DQL—聚合函数 1、介绍 聚合函数指的是讲一列数据作为一个整体&#xff0c;进行纵向的计算。 2、常见…

域内用户枚举和密码喷洒

一. 域内用户枚举原理和流量 1. 原理 在AS-REQ阶段客户端向AS发送用户名&#xff0c;cname字典存放用户名&#xff0c;AS对用户名进行验证&#xff0c;用户存在和不存在返回的数据包不一样。 不同之处主要是在返回数据包中的状态码不同&#xff0c;根据不同的状态码来区分账…

数学建模 —— 人工神经网络(6)

目录 一、人工神经网络 1.1 人工神经网络结构 1.2 神经元/感知器 1.3 激活函数 1.3.1 sign函数 1.3.2 sigmoid函数&#xff08;Logistic函数&#xff09; 1.3.3 tanh双曲正切函数 1.3.4 ReLU函数 1.4 分类 二、BP人工神经网络 2.1 概述 2.2 处理过程 2.3 例题 2.…

Android Studio插件开发 - Dora SDK的IDE插件

IDE插件开发简介 Android Studio是一种常用的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发Android应用程序。它提供了许多功能和工具&#xff0c;可以帮助开发人员更轻松地构建和调试Android应用程序。 如果你想开发Android Studio插件&#xff0c;以下是一…

移动系统编程-安装和运行Ionic应用程序 (Installation and Running Ionic Apps)

安装 (Installation) 假设您已经安装了Node.js和Angular&#xff0c;您可以使用以下命令安装Ionic&#xff1a; npm install -g ionic/cli您也可以不使用CLI安装Ionic&#xff0c;但如果您使用的是最新版本的Cordova&#xff0c;这样做可能会导致版本不匹配&#xff0c;不推荐…

【技术实操】银河高级服务器操作系统实例分享,数据库日志文件属主不对问题分析

1. 问题现象描述 2023 年 06 月 30 日在迁移数据库过程中&#xff0c;遇到数据库 crash 的缺陷&#xff0c;原因如下&#xff1a;在数据库启动时候生成的一组临时文件中&#xff0c;有 owner 为 root 的文件&#xff0c; 文件权限默认为 640&#xff0c; 当数据库需要使用的时…

高速服务区智慧公厕管理系统引导屏UI界面展示

在现代社会&#xff0c;高速服务区作为人们出行途中的重要休憩场所&#xff0c;其各项设施的智能化水平也在不断提升。其中&#xff0c;智慧公厕管理系统的出现&#xff0c;为人们带来了更加便捷、舒适的如厕体验&#xff0c;而引导屏 UI 界面更是这一系统的重要展示窗口。 智慧…

Python | Leetcode Python题解之第126题单词接龙II

题目&#xff1a; 题解&#xff1a; class Solution:def findLadders(self, beginWord: str, endWord: str, wordList: List[str]) -> List[List[str]]:ans []if endWord not in wordList:return anssize len(beginWord)cur_word_set {beginWord}ws set(wordList)# 用于…

WPF Binding对象、数据校验、数据转换

在WinForm中&#xff0c;我们要想对控件赋值&#xff0c;需要在后台代码中拿到控件对象进行操作&#xff0c;这种赋值形式&#xff0c;从根本上是无法实现界面与逻辑分离的。 在WPF中&#xff0c;微软引入了Binding对象&#xff0c;通过Binding&#xff0c;我们可以直接将控件与…

CSS双飞翼布局

双飞翼布局是一种经典的CSS布局模式&#xff0c;主要用于实现左右两列固定宽度&#xff0c;中间列自适应的布局。 比如&#xff1a;写一个左中右布局占满全屏&#xff0c;其中左、右两块固定宽 200px&#xff0c;中间自适应&#xff0c;要求先加载中间块。 <!DOCTYPE html…

启动u盘恢复成普通u盘

DiskUtility&#xff08;磁盘工具&#xff09;恢复可启动U盘为普通存储设备。点击顶部菜单栏的"抹掉"按钮。 u盘启动盘怎么恢复成u盘

如何使用Dora SDK完成Fragment流式切换和非流式切换

我想大家对Fragment都不陌生&#xff0c;它作为界面碎片被使用在Activity中&#xff0c;如果只是更换Activity中的一小部分界面&#xff0c;是没有必要再重新打开一个新的Activity的。有时&#xff0c;即使要更换完整的UI布局&#xff0c;也可以使用Fragment来切换界面。 何…

Vue3实战笔记(59)—从零开始掌握Vue3插槽机制,进阶与提高

文章目录 前言一、具名插槽二、高级列表组件示例总结 前言 接上文&#xff0c;接下来看一点稍微复杂的&#xff1a;具名插槽 一、具名插槽 子组件 MyComponent.vue&#xff1a; <template><div><slot name"header"></slot><slot><…

点到线段的最短矩离 及垂足的计算

过P做MN的垂线&#xff0c;垂足为Q&#xff0c;若Q在线段MN以内(包括与点M点N重合)&#xff0c;则最短距离为垂线段长度&#xff0c;若垂足在MN以外&#xff0c;则最短距离为PM&#xff0c;PN中的较小者。&#xff08;若P与MN共线&#xff0c;垂线长度为零&#xff0c;同样适用…