优化模型:matlab二次规划

news2025/4/26 7:13:33

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)

求解结果:

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

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

相关文章

Android实验:contentprovider 实验+SQLite 数据库的实现

目录 SQLite实验目的实验内容实验要求项目结构代码实现结果展示 SQLite SQLite 是一个开源的嵌入式关系数据库,实现了自给自足的、无服务器的、配置无需的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库系统不同,…

三子棋(c语言)

前言: 三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战,双方依次在9宫格棋盘上摆放棋子,率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小,三子棋在很多时候会出现和…

“产品经理必懂的关键术语“

产品经理是现代企业中非常重要的一个角色,他们负责制定产品策略、规划产品开发流程、管理产品质量和用户反馈等等。然而,对于产品经理来说,了解并掌握相关的专业术语是非常重要的。本篇文章会介绍一些产品经理需要掌握的专业术语,…

PIC项目(9)——基于PIC16F877A的环境光照检测系统

1.课题背景 近年来,城市光污染问题逐渐显现。白天,玻璃幕墙、釉面砖墙、磨光大理石和各种涂料等装饰反射光线,明晃刺眼;夜晚,商场、酒店、超市楼顶的广告牌、电子屏、霓虹灯炫烂夺目。面对这样的光污染,人们…

SpringMVC学习与开发(四)

注&#xff1a;此为笔者学习狂神说SpringMVC的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! 11、Ajax初体验 1、伪造Ajax 结果&#xff1a;并未有xhr异步请求 <!DOCTYPE html> &…

四.消息队列

目录 1 .消息队列概述 2.消息队列的特点 3.ftok函数 3 创建消息队列-msgget( ) 3.1发送消息-msgsnd( ) 3.2 接收消息-msgrcv( ) 4 消息队列的控制 1 .消息队列概述 消息队列是一种进程间通信的机制&#xff0c;允许不同进程在系统中传递数据。它们通常由内核维护&#x…

c语言-指针练习题

目录 前言一、题目一二、题目二总结 前言 为了巩固c语言中关于指针知识点的掌握&#xff0c;本篇文章记录关于指针的练习题。 一、题目一 有n个整数&#xff0c;使前面各数顺序往后移动m个位置&#xff0c;最后m个数变成最前面的m个数 写一函数实现以上功能&#xff0c;在主函…

【Vue2+3入门到实战】(5)Vue基础之Computed计算属性 详细示例

目录 一、今日学习目标1.computed计算属性 二、computed计算属性1.概念2.语法3.注意4.案例5.代码准备 三、computed计算属性 VS methods方法1.computed计算属性2.methods计算属性3.计算属性的优势4.总结 四、计算属性的完整写法五、综合案例-成绩案例六、Computed计算属性总结 …

荣耀之城(富饶之地)

规则简介 这是一个回合制的游戏&#xff0c;每个回合都是先选角色然后按照角色编号依次执行回合。 8个角色&#xff1a;刺客、小偷、魔术师、国王、住持、商人、建筑师、领主 根据人数的不同&#xff0c;按照不同的规则依次选取一个角色&#xff0c;国王第一个选&#xff0c…

【数学建模美赛M奖速成系列】Matplotlib绘图技巧(二)

Matplotlib绘图技巧&#xff08;二&#xff09; 写在前面2. 函数间区域填充函数fill_between()和fill()参数&#xff1a; 3. 散点图 scatter4. 直方图 hist5. 条形图 bar5.1 一个数据样本的条形图参数&#xff1a; 5.2 多个数据样本进行对比的直方图5.3 水平条形图参数 5.4 绘制…

Redis内存使用率高,内存不足问题排查和解决

问题现象 表面现象是系统登录突然失效&#xff0c;排查原因发现&#xff0c;使用redis查询用户信息异常&#xff0c;从而定位到redis问题 if (PassWord.equals(dbPassWord)) {map.put("rtn", 1);map.put("value", validUser);session.setAttribute("…

结构体:子网掩码

#include<iostream> using namespace std; union IP //创建共用体 {unsigned char a[4];unsigned int ip; }; IP getIP() //获取ip函数 {int a, b, c, d;scanf_s("%d.%d.%d.%d", &a, &b, &c, &d);IP address;address.a[3] a; address.a[2] …

C. Load Balancing 一个序列同时加一个数和减一个数,直到最大和最小之间相差最大为1(结论可记住)

题目&#xff1a; https://atcoder.jp/contests/abc313/tasks/abc313_c 思想&#xff1a;1.给定一个固定的B&#xff0c;求使A等于B所需的最小运算次数 2.在所有最大值和最小值最多相差1的B中&#xff0c;找出一个所需的运算次数最少的&#xff0c;即1 做法&#xff1a;构造…

Vue项目优化-组件配置化、插件使用

Vue中可以根据需要去加载插件&#xff0c;一些自己写的插件在多个项目中都是需要用到的&#xff0c;通过把它们插件化&#xff0c;可以实现在需要用到的项目中便捷地复用&#xff0c;实现热拔插。 一、问题背景 以弹窗表单组件为例&#xff0c;平常我们使用弹窗组件都是通过页面…

C单片机数据类型与格式化

C语言数据类型 关键字位数表示范围stdint关键字ST关键字举例unsigned char80 ~ 255uint8_tu8u8 data 128char8-128 ~ 127int8_ts8s8 temperature 25unsigned short160 ~ 65535uint16_tu16u16 counter 5000short16-32768 ~ 32767int16_ts16s16 position 32767unsigned int3…

[Angular] 笔记 21:@ViewChild

chatgpt: 在 Angular 中&#xff0c;ViewChild 是一个装饰器&#xff0c;用于在组件类中获取对模板中子元素、指令或组件的引用。它允许你在组件类中访问模板中的特定元素&#xff0c;以便可以直接操作或与其交互。 例如&#xff0c;如果你在模板中有一个子组件或一个具有本地…

Autosar MCAL-RH850P1HC Dio配置

文章目录 DioDioGeneralDioCriticalSectionProtectionDioDevErrorDetectDioDeviceNameDioFlipChannelApiDioMaskedWritePortApiDioUseWriteVerifyErrorInterfaceDioVersionCheckExternalModulesDioVersionInfoApiDioWriteVerifyDioWriteVerifyErrorInterface DioPortP0-P9DioPo…

关于mysql8.0相关的升级

不知不觉&#xff0c;MySQL8.0已经有好多个GA小版本了。目前互联网上也有很多关于MySQL8.0的内容了&#xff0c;MySQL8.0版本基本已到稳定期&#xff0c;相信很多小伙伴已经在接触8.0了。本篇文章主要介绍从5.7升级到8.0版本的过程及注意事项&#xff0c;有想做版本升级的小伙伴…

技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)

1. 引言 前序博客&#xff1a; 技术探秘&#xff1a;在RISC Zero中验证FHE——由隐藏到证明&#xff1a;FHE验证的ZK路径&#xff08;1&#xff09; 技术探秘&#xff1a;在RISC Zero中验证FHE——由隐藏到证明&#xff1a;FHE验证的ZK路径&#xff08;1&#xff09; 中&…

DDOS攻击原理,如何解读?

互联网安全现状 随着网络世界的高速发展&#xff0c;各行业数字化转型也在如火如荼的进行。但由于TCP/IP网络底层的安全性缺陷&#xff0c;钓鱼网站、木马程序、DDoS攻击等层出不穷的恶意攻击和高危漏洞正随时入侵企业的网络&#xff0c;如何保障网络安全成为网络建设中的刚性…