等式约束凸二次规划问题的解法
日期:2020-5-8
等式约束凸二次规划问题的解法
描述问题
对于系数矩阵而言,我们可以证明:如果H是正定的,A是满秩的,则该方程组有唯一的解,且为问题的全局最优解。
求解方法
我们可以设矩阵的逆来进行求解。
可以通过推导得到
matlab程序
function [ z,lam,fval ] = qlag( H,A,b,c )
%qlag: 求解等式约束二次规划:
% min f(x)=0.5*x'Hx+c'x, s.t. Ax=b
%---Input: H,c分别是目标函数的矩阵和向量
% A,b 分别是约束条件中的矩阵和向量
%---Output: (x,lam)是 KT 点,fval 是最优值
IH = inv(H);
AHA = A*IH*A';
IAHA = inv(AHA);
AIH = A*IH;
G = IH-AIH'*IAHA*AIH;
B = IAHA*AIH;
C = -IAHA;
x = B'*b - G*c;
lam = B*c - C*b;
fval = 0.5*x'*H*x + c'*x;
end
实例
求解如下问题:
可以得到:
%main
clear; clc; close all;
%% 求解问题
H = [2 -2 0;-2 4 0; 0 0 2];
c = [0 0 1]';
A = [1 1 1;2 -1 1];
b = [4 2]';
[x, lam, fval] = qlag(H,A,b,c)
得到:
等式约束凸二次规划问题的解法相关推荐
- matlab中sqp的算法原理_最优化方法及其Matlab程序设计 马昌凤
内容简介<最优化方法及其Matlab程序设计>较系统地介绍了非线性最优化问题的基本理论和算法,以及主要算法的Matlab程序设计,主要内容包括(精确或非精确)线搜索技术.最速下降法与(修正 ...
- 最优控制理论 六、拉格朗日乘子法和KKT条件
拉格朗日乘子法和KKT条件 1. 等式约束最优化 2. 不等式约束最优化 2.1 1个不等式约束 2.2 KKT条件 2.3 二维不等式约束图解 3. MATLAB不等式约束优化 总结 4. 参考文献 ...
- 序列二次规划求解非线性优化问题
目录 1. 概述 2. 基本思想 3. 求解方法 3.1 求解二阶导数矩阵 3.2 二次规划问题的求解 1. 概述 序列二次规划法(SQP,Sequential Quadratic Programmi ...
- UA SIE545 优化理论基础3 Fritz-John与Kuhn-Tucker理论总结 带等式约束与不等式约束的极值问题
UA SIE545 优化理论基础3 Fritz-John与Kuhn-Tucker理论总结 带等式约束与不等式约束的极值问题 对于函数f:X→Yf:X \to Yf:X→Y,我们希望XXX是一个凸的度量 ...
- 等式约束的序列二次规划(SQP)
我们还是以陆吾生的Practical optimization algorithms and engineering applications第15章作为模板进行整理,讲的是真的清楚,对其中比较简洁的 ...
- 最优化--等式约束最优性条件
所谓的最优性条件就是最优解的性质. 我们通过最优性条件的研究,能够对于优化的步骤,以及迭代求解时的结束条件有很大帮助. 最优化问题常见的有无约束优化,等式约束优化,不等式约束优化.这里用两篇blog分 ...
- 运筹优化(六)--目标规划定义及解法
1.目标规划的提出 线性规划的目标函数是单目标,但企业实际的经营管理中,需要完成多项指标,如企业计划中就包括产量.质量.利润.交货期等多项指标组成一个指标体系,均要全面完成,但是,这些指标的度量单位不 ...
- 高斯若尔当法算法matlab,大规模问题的分解法-D-W分解法
大规模线性规划问题的求解极具挑战性,在效率.存储和数值稳定性等方面对算法都有很高的要求.但是这类问题常常非常稀疏且有特殊结构,能够分解为若干个较小规模问题求解. 线性规划问题的目标函数和非负约束都可分 ...
- 关于某日访问次数最多的IP的topK问题的三种解法
题目描述 在july大神的博客中,看到这样两道题: 1. 海量日志数据,提取出某日访问百度次数最多的那个IP. 2. 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复 ...
- usaco Ordered Fractions 顺序的分数(两种解法)
这题很好玩,这里有两种解法. 第一种我自己写的,先找到所有的既约真分数,然后写了一个cmp函数进行排序最后输出.我写的时候还在想这章不是搜索吗这跟搜索关系不大吧,难道是怕我们思维定式化故意出的题不是搜 ...
最新文章
- ubuntu的学习教程(常用操作)
- 安装多个版本的jdk
- HDU 1245 Saving James Bond
- zz eclipse.ini内存设置
- R运行大数据的过程中遇到的问题:不能有负长度矢量
- 【重难点】【JUC 02】volitale 常用模式 、JUC 下有哪些内容 、并发工具类
- 最大子数组问题,分治策略基础,百度面试题
- 【转】(Jquery)避免数据相加小数点后产生多位数和计算精度损失
- BAT中for循环处理某目录下的文件
- Atitit 持久化与数据存储标准化规范 目录 1. 存储的附加功能	2 1.1. 基本存取功能	2 1.2. 全文检索(imap	2 1.3. 属性检索	2 1.4. 查询语言	2 2. 基于内容
- <HTML>简单登录页面代码
- wp7 XAP部署工具
- Mercury老版路由器WDS
- sumifs 汇总_空标准单元格的SUMIFS公式
- 起底资金盘GGT:一场早有预谋的跑路
- jquery.uploadView.js图片上传插件
- 来自微信团队的 6 个开源项目
- 创建一个Customer类,类中的属性有姓名(name)、年龄(age)、性别(gender),每一个属性分别有get/set方法。然后创建两个customer对象:张立、18、女和王猛、22、男。把
- 《计算机科学与探索》期刊投稿
- 如何为您的在线业务设置和使用YouTube