数学建模【多目标规划】

一、多目标规划简介

多目标规划的本质是“既要XXX又要XXX”,而不论是线性规划还是非线性规划都是一个目标函数,例如工业生产产品,追求最大化利润等。但是多目标规划存在多个目标,可以转化出多个目标函数,故难点在同时满足所有目标。由此思路为:

  • 需要衡量每个目标的完成情况
  • 如果三个目标有一定冲突,要在主观上区分三个目标的重要性
  • 使得整体的完成情况尽量好

二、适用赛题

生产规划等问题,如“使XXX最少/多/利润最大”“尽可能XXX”“尽量XXX”等。

三、模型流程

四、流程分析

1.前提假设

老生常谈,这里就不讲了。

2.提取目标

既然是多目标规划,自然就不止一个目标,将所有的目标提取出来。

3.翻译
①正负偏差变量

正负偏差变量是用来衡量每个目标的完成情况

  • fi(i = 1, ..., l) 为第i个目标函数的实际值,di表示fi的目标值
  • 正偏差变量di1 = max{fi - di, 0}为实际值超过目标值的部分
  • 负偏差变量di2 = -min{fi - di, 0}为实际值未达到目标值的部分

通过正负偏差变量可以将目标函数转化为用正负偏差变量表示

例如有如下的目标函数

函数1: x1 - x2 ≤ 0

函数2: 8x1 + 10x2 ≥ 56

则可以转化为

min d11(最小的正偏差变量)解释:函数1表明希望x1尽量比x2小,小多少无所谓,但是尽量别让x1大于x2,所以我们要求最小的正偏差变量

min d22(最小的负偏差变量)解释:函数2表明希望左边式子尽量大于等于56,大多少无所谓,但是尽量别小于56,所以要求最小的负偏差变量

②绝对约束和目标约束
  • 绝对约束是模型中自带的约束条件,必须满足,否则是不可行解
  • 目标约束是模型中对不等式右端追求的值允许有偏差
  • “尽量”“尽可能”就是允许有偏差,这个条件达不达到都行,这样就无法有一个准确的约束式子
  • 利用正负偏差变量,可以获得准确的等式约束条件

如上面的函数1

有x1 - x2 + d12 - d11 = 0

函数2有 8x1 + 10x2 + d22 - d21 = 56

这样就有了等式约束条件,其实就是实际值加上未达到的部分、减去超过的部分,就等于目标值。

③优先因子

多个目标可能难以同时满足,到底哪个更重要?这个可以根据文献或题目要求确定。

然后设最重要目标的优先因子是P1,第二重要是P2,后面以此类推。

注意:不同的求解方法下,优先因子的作用是不同的。在序贯算法中,优先因子只是用来区分目标的相对重要性,不需要其具体值。而在线性加权法中,需要确定具体数值(该方法过于简单,适用性小,不建议使用)。

这里通过一个例题操作示范

按照前面所讲,将3个目标转化为数学语言

别忘了还有绝对约束:2x1 + x2 ≤ 11,因为生产材料有限。

从而建立模型

4.划分

根据优先因子的先后次序,将问题分解成单目标规划。三个目标,每个目标都可视为单目标的线性规划。

5.序贯算法求解

序贯算法是一种常用解法

  • 根据模型中各个目标的优先级(优先因子),确定各目标的求解次序
  • 求第一级单目标规划的最优值记为f1*
  • 以第一级单目标等于最优值f1*为新的约束,求第二级目标的最优值f2*
  • 依次递推,直到所有目标都求完,或不存在可行解为止

推荐使用优化变量、优化问题来求解。

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

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

相关文章

电商行业的机遇在哪?致淘宝平台API数据接口

在电商行业蓬勃发展的今天,我们不得不提及淘宝这个伟大的平台。它不仅为亿万用户提供了便捷的购物体验,更为无数的商家创造了一个财富的聚集地。而如今,随着技术的不断进步,淘宝开放了其强大的API接口,为广大开发者带来…

Vuex核心知识整理

目录 1 搭建vuex环境 2 求和案例 3 getters 配置项 4 mapState 和 mapGetters 5 mapMutations 和 mapActions 6 Vuex 模块化 1 搭建vuex环境 vuex工作原理图(摘自官网) 什么时候使用Vuex: 1.当多个组件依赖于统一状态 2.来自不同组件…

安装faiss环境教程

文章目录 打开环境安装faiss环境检查已安装的环境切换环境至faiss 打开环境 source activate # 打开环境安装faiss环境 conda create -n faiss_env # 安装faiss环境检查已安装的环境 conda info --envs # 检查已安装的环境切换环境至faiss conda a…

【51单片机实验笔记】开关篇(二) 矩阵按键

目录 前言原理图分析矩阵按键扫描算法 软件实现1. 矩阵键盘检测2. 简易计算器实现 总结 前言 本节内容,我们学习一下矩阵按键,它是独立按键的阵列形式,常见的应用即键盘。 本节涉及到的封装源文件可在《模块功能封装汇总》中找到。 本节完…

人工智能学习与实训笔记(一):零基础理解神经网络

人工智能专栏文章汇总:人工智能学习专栏文章汇总-CSDN博客 本篇目录 一、什么是神经网络模型 二、机器学习的类型 2.1 监督学习 2.2 无监督学习 2.3 半监督学习 2.4 强化学习 三、网络模型结构基础 3.1 单层网络 ​编辑 3.2 多层网络 3.3 非线性多层网络…

CSS篇--transform

CSS篇–transform 使用transform属性实现元素的位移、旋转、缩放等效果 位移 // 语法 transform:translate(水平移动距离,垂直移动距离) translate() 如果只给一个值,表示x轴方法移动距离 单独设置某个方向的移动距离:translateX() transla…

jwt+redis实现登录认证

项目环境&#xff1a;spring boot项目 pom.xml引入jwt和redis <!-- jwt --><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>4.3.0</version></dependency><!-- redis坐标-->…

Midjourney绘图欣赏系列(四)

Midjourney介绍 Midjourney 是生成式人工智能的一个很好的例子&#xff0c;它根据文本提示创建图像。它与 Dall-E 和 Stable Diffusion 一起成为最流行的 AI 艺术创作工具之一。与竞争对手不同&#xff0c;Midjourney 是自筹资金且闭源的&#xff0c;因此确切了解其幕后内容尚不…

手把手一起开发SV4E-I3C设备(二)

JEDEC DDR5 SPD Hub Devices例程 DDR5生态系统的核心是SidebandBus Protocol 参考下图&#xff0c;可以将SV4E-I3C的端口1声明为主服务器(模拟主机控制器)&#xff0c;并且它可以属于SV4E-I3C上的一个总线。端口2可以作为SPD Hub DUT的Local Bus侧的从站连接。这个从站可以被…

2.17C语言学习

P1678 烦恼的高考志愿 写完后发现题解里面用的是优先队列或者二分什么的&#xff0c;其实这个题可以贪心&#xff0c;我们把学校的分数线和学生的成绩分别进行排序&#xff0c;然后从前往后遍历&#xff0c;每次比较当前学校的分数与学生成绩的差距和下一个学校的分数与学生成…

Linux CentOS stream 9 安装docker

在计算机技术中,虑拟化是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个电脑配置环境。 目前,大多数服务器的容量的利用率不足15%,这导致服务器数量激增以及增加了复杂性。服务…

(二)【Jmeter】专栏实战项目靶场drupal部署

该专栏后续实战示例&#xff0c;都以该篇部署的项目展开操作。 前置条件 参考“&#xff08;一&#xff09;【Jmeter】JDK及Jmeter的安装部署及简单配置” 安装部署Jmeter&#xff0c;从文章最后下载“Postman、Rancher.ova、VirtualBox-7.0.12-159484-Win.exe、Xshell-7.0.01…

【第三十六节】工程与模块管理

IDEA 项目结构 层级关系&#xff1a; project&#xff08;工程&#xff09;-module&#xff08;模块&#xff09;-package(包)-class&#xff08;类&#xff09; 具体的&#xff1a; 一个project中可以创建多个module 一个module可以创建多个package 一个package中可以创…

[C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改

问题描述 WPF中DataGrid的选中行或选中者单元格&#xff0c;在焦点失去后&#xff0c;颜色会很淡&#xff0c;很不明显&#xff0c;不容易区分。 解决方法 在失去焦点的情况下&#xff0c;如何设置行或单元格与选中的时候颜色一样&#xff1f; <DataGrid.Resources>&…

如何在Spring Boot中启用HTTPS?

在Spring Boot中启用HTTPS是一个增强应用程序安全性的重要步骤。下面我将介绍如何将一个Spring Boot项目配置成支持HTTPS协议。 引入 在现代的网络通信中&#xff0c;安全性成为了一个不能忽视的要求。特别是当我们谈论到数据传输时&#xff0c;保护用户信息的安全性是非常重要…

【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(2)项目开发周期

我们来学习项目开发的周期。 再次声明&#xff0c;本文来自腾讯AI课的学习笔记&#xff0c;图片和文字&#xff0c;仅用于大家学习&#xff0c;想了解更多知识&#xff0c;请访问腾讯云相关章节。如果争议&#xff0c;请联系作者。 今天&#xff0c;我们来学习AI项目的周期。 主…

黑马鸿蒙教程学习1:Helloworld

今年打算粗略学习下鸿蒙开发&#xff0c;当作兴趣爱好&#xff0c;通过下华为那个鸿蒙开发认证&#xff0c; 发现黑马的课程不错&#xff0c;有视频和完整的代码和课件下载&#xff0c;装个devstudio就行了&#xff0c;建议32G内存。 今年的确是鸿蒙大爆发的一年呀&#xff0c;…

【以解决】Pyinstaller打包报错IndexError: tuple index out of range

问题 这个问题主要是在Python3.7以上的版本中遇到&#xff0c;用pyinstaller打包的时候发现报错 (pyinstallerEnv) D:\virtualEnv\pyinstallerEnv\Scripts>auto-py-to-exe pygame 2.5.2 (SDL 2.28.3, Python 3.10.0) Hello from the pygame community. https://www.pygame…

人工智能学习与实训笔记(四):神经网络之NLP基础—词向量

人工智能专栏文章汇总&#xff1a;人工智能学习专栏文章汇总-CSDN博客 本篇目录 四、自然语言处理 4.1 词向量 (Word Embedding) 4.1.1 词向量的生成过程 4.1.2 word2vec介绍 4.1.3 word2vec&#xff1a;skip-gram算法的实现 4.2 句向量 - 情感分析 4.2.1 LSTM (Long S…

第六节笔记:OpenCompass 大模型评测

视频链接&#xff1a;https://www.bilibili.com/video/BV1Gg4y1U7uc/?spm_id_from333.788&vd_source3bbd0d74033e31cbca9ee35e111ed3d1