优化模型:matlab二次规划

1.二次规划

1.1 二次规划的定义

若某非线性规划的目标函数为自变量 x x x的二次函数,且约束条件全是线性的,则称这种规划模型为二次规划。

1.2 二次规划的数学模型

min ⁡ 1 2 x T H x + f T x \min \frac{1}{2}\boldsymbol{x}^{\boldsymbol{T}}\boldsymbol{Hx}+\boldsymbol{f}^{\boldsymbol{T}}\boldsymbol{x} min21xTHx+fTx
s . t . { A x ⩽ b A e q ⋅ x = b e q l b ⩽ x ⩽ u b s.t.\left\{ \begin{array}{c} \boldsymbol{Ax}\leqslant \boldsymbol{b}\\ Aeq\cdot \boldsymbol{x}=beq\\ lb\leqslant \boldsymbol{x}\leqslant ub\\ \end{array} \right. s.t. AxbAeqx=beqlbxub
式中: H \boldsymbol{H} H为实对称矩阵; f \boldsymbol{f} f, b \boldsymbol{b} b, b e q , l b , u b beq,lb,ub beq,lb,ub为列向量; A \boldsymbol{A} A, q q q为相应维数的矩阵。

1.3 二次规划的matlab求解

MATLAB中求解二次规划的命令是

[x,fval]=quadprog(H,f,A,b,Aeq,beq,lb,ub,x0,options)

其中, x 0 x0 x0是向量 x \boldsymbol{x} x的初始值.

2.案例分析

用MATLAB求解如下二次规划:
min ⁡ f ( x ) = 2 x 1 2 − 4 x 1 x 2 + 4 x 2 2 − 6 x 1 − 3 x 2 \min f\left( x \right) =2x_{1}^{2}-4x_1x_2+4x_{2}^{2}-6x_1-3x_2 minf(x)=2x124x1x2+4x226x13x2
s . t . { x 1 + x 2 ⩽ 3 4 x 1 + x 2 ⩽ 9 x 1 , x 2 ⩾ 0 s.t.\left\{ \begin{array}{c} x_1+x_2\leqslant 3\\ 4x_1+x_2\leqslant 9\\ x_1,x_2\geqslant 0\\ \end{array} \right. s.t. x1+x234x1+x29x1,x20
:先看目标函数中的二次项:
2 x 1 2 − 4 x 1 x 2 + 4 x 2 2 = 1 2 [ x 1 , x 2 ] [ 4 − 4 − 4 8 ] [ x 1 x 2 ] 2x_{1}^{2}-4x_1x_2+4x_{2}^{2}=\frac{1}{2}\left[ x_1,x_2 \right] \left[ \begin{matrix} 4& -4\\ -4& 8\\ \end{matrix} \right] \left[ \begin{array}{c} x_1\\ x_2\\ \end{array} \right] 2x124x1x2+4x22=21[x1,x2][4448][x1x2]
所以 H = [ 4 − 4 ; − 4 8 ] \boldsymbol{H}=\left[ \begin{matrix} 4& -4 ;\\ -4& 8 \\ \end{matrix} \right] H=[444;8]
再看目标函数中的一次项:
− 6 x 1 − 3 x 2 = [ − 6 − 3 ] [ x 1 x 2 ] -6x_1-3x_2=\left[ -6 -3 \right] \left[ \begin{array}{c} x_1\\ x_2\\ \end{array} \right] 6x13x2=[63][x1x2]
所以
f = [ − 6 − 3 ] f=\left[ \begin{array}{c} -6\\ -3\\ \end{array} \right] f=[63]
接下来编写matlab代码:

H=[4,-4;-4,8];
f=[-6;-3];
A=[1,1;4,1];
b=[3;9];
lb=zeros(2,1);
x0=rand(2,1);
[x,fval]=quadprog(H,f,A,b,[],[],lb,[],x0)

求解结果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Matlab】RF随机森林时序预测算法(附代码)

资源下载: https://download.csdn.net/download/vvoennvv/88692249 一,概述 随机森林的基本思想是利用多个决策树对时序数据进行预测,其中每个决策树都使用不同的随机抽样方式选择训练数据,以减小过拟合的风险。 随机森林时序预测…

【计算机毕业设计】SSM实验室设备管理

项目介绍 本项目为后台管理系统,分为管理员、老师、学生三种角色; 管理员角色包含以下功能: 信息管理:用户管理; 基础管理:实验室管理,实验室申请记录,设备管理,设备记录管理,耗材管理,耗材记录管理等功能…

【Java进阶篇】字符串常量、字符串常量池详解

字符串常量、字符串常量池详解 ✔️字符串常量池是如何实现的?✔️字符串常量从哪来的? ✔️字符串常量是什么时候进入到字符串常量池的? ✔️字符串常量池是如何实现的? 字符串常量池 (String Constant Pool) 是Java中一块特殊的内存区域,用于存储字符串常量。…

C语言——操作符

一、算数操作符 1、(加操作符) 用于将两个数相加,例:3 3结果为6 2、-(减操作符) 用于将两个数相减,例:3 - 3结果为0 3、*(乘操作符) 用于将两个数相乘,例:3 * 3结果为9 4、/(除操作符) 用于将两个…

HashMap使用-LeetCode做题总结 454. 四数相加 II

454. 四数相加 II 最初思路优化思路Java语法增强for的使用场景 最初思路 枚举,因为是要计算有多少个元组,所以每个元素肯定都要遍历到,所以干脆算出所有元组的和。 我想用四个for循环加,但是失败。 优化思路 参考力扣 四数相加为…

创建VLAN及VLAN间通信

任务1、任务2、任务3实验背景: 在一家微型企业中,企业的办公区域分为两个房间,一个小房间为老板办公室,一个大房间为开放办公室,财务部和销售部的员工共同使用这个办公空间。我们需要通过VLAN的划分,使老板…

聊聊我使用亚马逊鲲鹏系统注册买家号的心得

想和大家聊一下我最近用了个挺好用的工具,就是亚马逊鲲鹏系统。以前我总是烦恼要一个一个手动注册亚马逊账号,真是麻烦。但有了这个系统,简直是方便到不行! 首先,它有个全自动批量注册账号的功能,你只需要提…

Python爬取今日头条热门文章

前言 今日头条文章收益是没有任何门槛,只要是你发布文章,每篇文章的阅读量超过1000就能有收益,阅读量越多收益越高。于是乎我就有了个大胆的想法。何不利用Python爬虫,爬取热门文章,然后完成自动化发布文章呢&#xf…

77 Python开发-批量FofaSRC提取POC验证

目录 本课知识点:学习目的:演示案例:Python开发-某漏洞POC验证批量脚本Python开发-Fofa搜索结果提取采集脚本Python开发-教育SRC报告平台信息提取脚本 涉及资源: 本课知识点: Request爬虫技术,lxml数据提取(把一些可以用的或者有价值的数据进行提取和保…

十二星座、社交做人守信用程度指数。

双子座(95% );天蝎座(92% );处女座(90% ) 金牛座(85% );狮子座(85% &#…

07. HTTP接口请求重试怎么处理?

目录 1、前言 2、实现方式 2.1、循环重试 2.2、递归重试 2.3、Spring Retry 2.4、Resilience4j 2.5、http请求网络工具内置重试方式 2.6、自定义重试工具 2.7、并发框架异步重试 2.8、消息队列 3、小结 1、前言 HTTP接口请求重试是指在请求失败时,再次发…

[python]matplotlib

整体图示 .ipynb 转换md时候图片不能通知携带&#xff0c;所有图片失效&#xff0c;不过直接运行代码可以执行 figure figure,axes与axis import matplotlib.pyplot as plt figplt.figure() fig2plt.subplots() fig3,axsplt.subplots(2,2) plt.show()<Figure size 640x480 …

C++模板进阶操作 ---非类型模板参数、模板的特化以及模板的分离编译

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…

计算机网络复习1

概论 文章目录 概论计算机网络的组成功能分类性能指标&#xff08;搞清楚每个时延的具体定义&#xff09;分层结构协议、接口和服务服务的分类ISO/OSITCP/IP两者的不同 计算机网络的组成 组成部分&#xff1a;硬件&#xff0c;软件和协议&#xff08;协议&#xff1a;传输数据…

C++ stack使用、模拟实现、OJ题

目录 一、介绍 二、常用函数 三、模拟实现 四、OJ练习题 1、最小栈 2、栈的压入、弹出序列 3、逆波兰表达式(后缀转中缀) 4、中缀转后缀思路 5、用栈实现队列 一、介绍 stack是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除…

二叉树的前序遍历 、二叉树的最大深度、平衡二叉树、二叉树遍历【LeetCode刷题日志】

目录 一、二叉树的前序遍历 方法一&#xff1a;全局变量记录节点个数 方法二&#xff1a;传址调用记录节点个数 二、二叉树的最大深度 三、平衡二叉树 四、二叉树遍历 一、二叉树的前序遍历 方法一&#xff1a;全局变量记录节点个数 计算树的节点数: 函数TreeSize用于…

[情商-5]:用IT直男擅长的流程图阐述高情商聊天过程与直男聊天过程

目录 一、目标与主要思想的差别 二、高情商聊天与直男聊天的流程图 1. 发起谈话主题Topic 2. 分析谈话的主题和内容 3. 确定谈话目的&#xff1a;解决问题还是情绪交流 4. 倾听&#xff1a;站在自己的角度倾听、捕获、理解对方的情绪状态与情绪诉求 5. 同理心&#xff1…

探索 CodeWave低代码技术的魅力与应用

目录 前言1 低代码平台2 CodeWave简介3 CodeWave 的独特之处3.1 高保真还原交互视觉需求3.2 擅长复杂应用开发3.3 支持应用导出&独立部署3.4 金融级安全要求3.5 可集成性高3.6 可拓展性强 4 平台架构和核心功能4.1 数据模型设计4.2 页面设计4.3 逻辑设计4.4 流程设计4.5 接…

milvus学习(一)cosin距离和欧式距离

参考&#xff1a;https://blog.csdn.net/qq_36560894/article/details/115408613 归一化以后的cosin距离和欧式距离可以相互转化&#xff0c;未归一化的不可以相互转化&#xff08;因为距离带单位&#xff09;。

IO DAY2

#include<my_head.h> //定义注册函数*************************************************** int do_register() { //以追加的形式打开文件 FILE *wfp 0; char name[20]; char pwd[20]; printf("请输入注册账号&#xff1a;"); fgets(…