一、内点法简介


法。而且无论是面对LP还是QP,内点法都显示出了相当的极好的性能,例如多项式的算法复杂度。

二、部分源代码

clear;
clc;
errArr=[];
%%
%初始化!!!
initial;
% Start clock
t1 = clock;
%%
ROU=sl'*MU_MIN+su'*MU_MAX;
MUt=SIGMA*ROU/(2*length(sl));%初始对偶因子与惩罚因子计算%
ik=0;%计迭代次数!!!
%迭代循环过程!!
while(abs(ROU)>=err)%%%Calcute h,g matrixROU=sl'*MU_MIN+su'*MU_MAX;errArr=[errArr;ROU;];SIGMA=0;MU=SIGMA*ROU/(2*length(sl));         %中心参数置零%for i=1:30temp=0;for j=1:30temp=temp-V(j)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));endif (i>6) tPg=0;elsetPg=Pg(i);endh(i)=tPg-Pd(i)+V(i)*temp;endfor i=1:30temp=0;for j=1:30temp=temp-V(j)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));endif (i>6) tQg=0;elsetQg=Qg(i);endh(i+30)=tQg-Qd(i)+V(i)*temp;end        % Cal  h ENDfor i=1:6g(i)=Pg(i);g(i+6)=Qg(i);endfor i=1:30g(i+12)=V(i);end        % Cal  g  END%Calcute h,g matrix END%%%Calculate Jacobian&Hessian matix%First Step: Jf,Hffor i=1:6Jf(i)=2*gencost(i,5)*Pg(i)+gencost(i,6);Hf(i,i)=2*gencost(i,6);end%Second Step: Jh, h为等式约束for i=1:6         %前6行对Pg求导,由此已求出Jh(i,i)=1; endfor i=7:12        %7-12行对Qg求导,由此已求出Jh(i,i+24)=1; endfor i=1:30       %形成13-42行的1-60列for j=1:30tempVp=0;tempVq=0;if (j==i)for k=1:30tempVp=tempVp-V(k)*aY(j,k)*cos(Vth(j)-Vth(k)-Yth(j,k));tempVq=tempVq-V(k)*aY(j,k)*sin(Vth(j)-Vth(k)-Yth(j,k));endJh(12+j,i)=tempVp-aY(j,j)*V(j)*cos(Yth(j,j));Jh(12+j,30+i)=tempVq+aY(j,j)*V(j)*sin(Yth(j,j));elseJh(12+j,i)=-aY(i,j)*V(i)*cos(Vth(i)-Vth(j)-Yth(i,j));Jh(12+j,30+i)=-aY(i,j)*V(i)*sin(Vth(i)-Vth(j)-Yth(i,j));endendendfor i=1:30       %形成43-72行的1-60列for j=1:30tempVp=0;tempVq=0;if (j==i)for k=1:30tempVp=tempVp+aY(j,k)*V(k)*sin(Vth(j)-Vth(k)-Yth(j,k));tempVq=tempVq-aY(j,k)*V(k)*cos(Vth(j)-Vth(k)-Yth(j,k));endtempVp=tempVp-V(j)*aY(j,j)*sin(-Yth(j,j));tempVq=tempVq+V(j)*aY(j,j)*cos(-Yth(j,j));Jh(42+j,i)=V(i)*tempVp;Jh(42+j,30+i)=V(i)*tempVq;elseJh(42+j,i)=-aY(i,j)*V(i)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j));Jh(42+j,30+i)=aY(i,j)*V(i)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j));endendend%Third Step: Hh%有功部分for i=1:30for j=1:30for k=j:30if (j==k&&i~=j) Hh(j+12,k+12,i)=0;          %VVHh(j+42,k+42,i)=V(i)*aY(i,j)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j)); %%ththelseif (j==k&&i==j)Hh(j+12,k+12,i)=-2*aY(j,j)*cos(Yth(i,i));  %VVtemp=0;                   %ththfor l=1:30temp=temp+aY(j,l)*V(l)*cos(Vth(j)-Vth(l)-Yth(j,l));endtemp=temp-aY(i,i)*V(i)*cos(-Yth(i,i));Hh(j+42,k+42,i)=V(i)*temp;elseif (k==i)Hh(j+12,k+12,i)=-aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));    %VVHh(k+12,j+12,i)=Hh(j+12,k+12,i);Hh(j+42,k+42,i)=-V(i)*aY(i,j)*V(j)*cos(Vth(i)-Vth(j)-Yth(i,j));  %ththHh(k+42,j+42,i)=Hh(j+42,k+42,i);elseif (j==i)Hh(j+12,k+12,i)=-aY(i,k)*cos(Vth(i)-Vth(k)-Yth(i,k));    %VVHh(k+12,j+12,i)=Hh(j+12,k+12,i);Hh(j+42,k+42,i)=-V(i)*aY(i,k)*V(k)*cos(Vth(i)-Vth(k)-Yth(i,k));  %ththHh(k+42,j+42,i)=Hh(j+42,k+42,i);endendendend                 %至此已形成(13-42,13-42)和(42-72,43-72)for i=1:30for j=1:30for k=1:30if (j==k&&i~=j) Hh(j+42,k+12,i)=-V(i)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));      %thVelseif (j==k&&i==j)temp=0;                   %thVfor l=1:30temp=temp+aY(j,l)*V(l)*sin(Vth(j)-Vth(l)-Yth(j,l));    endHh(j+42,k+12,i)=temp-V(i)*aY(i,i)*sin(-Yth(i,i));elseif (j==i)Hh(j+42,k+12,i)=V(i)*aY(i,k)*sin(Vth(i)-Vth(k)-Yth(i,k));   %thV   elseif (k==i)Hh(j+42,k+12,i)=-V(j)*aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));  %thVendendendHh(13:42,43:72,i)=Hh(43:72,13:42,i)';end                           %至此已形成(42-72,13-42)和(13-42,43-72)%无功部分for i=1:30for j=1:30for k=j:30if (j==k&&i~=j) Hh(j+12,k+12,i+30)=0;          %VVHh(j+42,k+42,i+30)=V(i)*aY(i,j)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j)); %%ththelseif (j==k&&i==j)Hh(j+12,k+12,i+30)=2*aY(j,j)*sin(Yth(i,i));  %VVtemp=0;                   %ththfor l=1:30temp=temp+aY(j,l)*V(l)*sin(Vth(j)-Vth(l)-Yth(j,l));endtemp=temp-aY(i,i)*V(i)*sin(-Yth(i,i));Hh(j+42,k+42,i+30)=V(i)*temp;elseif (k==i)Hh(j+12,k+12,i+30)=-aY(i,j)*sin(Vth(i)-Vth(j)-Yth(i,j));    %VVHh(k+12,j+12,i+30)=Hh(j+12,k+12,i+30);Hh(j+42,k+42,i)=-V(i)*aY(i,j)*V(j)*sin(Vth(i)-Vth(j)-Yth(i,j));  %ththHh(k+42,j+42,i+30)=Hh(j+42,k+42,i+30);elseif (j==i)Hh(j+12,k+12,i+30)=-aY(i,k)*sin(Vth(i)-Vth(k)-Yth(i,k));    %VVHh(k+12,j+12,i+30)=Hh(j+12,k+12,i+30);Hh(j+42,k+42,i+30)=-V(i)*aY(i,k)*V(k)*sin(Vth(i)-Vth(k)-Yth(i,k));  %ththHh(k+42,j+42,i+30)=Hh(j+42,k+42,i+30);endendendend                 %至此已形成(13-42,13-42)和(42-72,43-72)for i=1:30for j=1:30for k=1:30if (j==k&&i~=j) Hh(j+42,k+12,i+30)=V(i)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));      %thVelseif (j==k&&i==j)temp=0;                   %thVfor l=1:30temp=temp-aY(j,l)*V(l)*cos(Vth(j)-Vth(l)-Yth(j,l));    endHh(j+42,k+12,i+30)=temp+V(i)*aY(i,i)*cos(-Yth(i,i));elseif (j==i)Hh(j+42,k+12,i+30)=-V(i)*aY(i,k)*cos(Vth(i)-Vth(k)-Yth(i,k));   %thV   elseif (k==i)Hh(j+42,k+12,i+30)=V(j)*aY(i,j)*cos(Vth(i)-Vth(j)-Yth(i,j));  %thVendendendHh(13:42,43:72,i+30)=Hh(43:72,13:42,i+30)';end                           %至此已形成(42-72,13-42)和(13-42,43-72)%Hh形成完毕%Fourth Step: Jg, HgJg=eye(42,42);Jg=[Jg;zeros(30,42)];Hg=zeros(72);%Calculation Jacobian&Hessian matrix END%%%Calculate Newton Iteration 误差迭代量%Cal LX0-------------------------1LX0=Jf-Jh*Lam+Jg*(-MU_MIN+MU_MAX);%Cal LLam-------------------------2LLam0=h;pferr=max(LLam0);%Cal LMU_MIN-------------------------3LMU_MIN0=g-sl-gmin;%Cal LMU_MAX-------------------------4

三、运行结果




四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.

【优化电价】基于matlab内点法求解实时电价最优问题【含Matlab源码 1161期】相关推荐

  1. 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...

  2. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  3. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  4. 【Matlab心音信号】EMD心音信号特征提取【含GUI源码 1735期】

    一.代码运行视频(哔哩哔哩) [Matlab心音信号]EMD心音信号特征提取[含GUI源码 1735期] 二.matlab版本及参考文献 1 matlab版本 2014a *2 参考文献 [1] 沈再 ...

  5. 【Matlab语音隐写】DWT音频数字水印【含GUI源码 712期】

    一.代码运行视频(哔哩哔哩) [Matlab语音隐写]DWT音频数字水印[含GUI源码 712期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  6. 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】

    一.代码运行视频(哔哩哔哩) [Matlab通信]DTMF双音多频电话拨号仿真[含GUI源码 805期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...

  7. 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】

    一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...

  8. 【Matlab电力负荷预测】粒子群优化支持向量机短期电力负荷预测【含GUI源码 751期】

    一.代码运行视频(哔哩哔哩) [Matlab电力负荷预测]粒子群优化支持向量机短期电力负荷预测[含GUI源码 751期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 ...

  9. 【Matlab指纹识别】指纹识别门禁系统【含GUI源码 1692期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别门禁系统[含GUI源码 1692期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继 ...

  10. 【Matlab指纹识别】指纹识别匹配门禁系统【含GUI源码 587期】

    一.代码运行视频(哔哩哔哩) [Matlab指纹识别]指纹识别匹配门禁系统[含GUI源码 587期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

最新文章

  1. 支持插件的消息中间件【msg broker with plugin】 - 知然 - 博客园
  2. consolel API大全-附测试结果
  3. 关于DOM2级事件的事件捕获和事件冒泡
  4. wxpython显示图片_wxpython下图片局部显示的方法
  5. Python知识点之Python面向对象
  6. 我是如何在六个月内学会 Python 的?
  7. 这款工具不用手写一行代码就能做出网站!
  8. Java开发环境安裝教程
  9. openg离线包_OpenGL离线渲染和缓冲区对象
  10. 惠普电脑按F12锁屏如何解?
  11. 30个编程领域的趣图
  12. php混淆解密,php混淆加密解密实战
  13. oracle查询所有去掉重复的数据库,ORACLE数据库查询删除重复记录的三种方法
  14. drawableTop,button图片显示在文字上面,文字不显示的问题
  15. 计算机删除登录用户,Windows10账户删除怎么登陆 如何删除账户
  16. python读取加密excel_python使用pywin32模块给excel文件加密解密
  17. 派森诺转录+代谢组联合分析
  18. 应用数学考研跨考计算机,数学专业考研三大方向_跨考网
  19. 【CSS】grid和flex
  20. Topy Desk Privacy Policy

热门文章

  1. js判断是否为微信浏览器
  2. poj1273:Drainage Ditches
  3. linux 中的快捷键
  4. BZOJ1230 [Usaco2008 Nov]lites 开关灯
  5. ios音乐播放器使用综述
  6. Unity HoloLens 开发初识
  7. Atitit prgrmlan 编程语言主题列表 \0 it impttech topic\prgrmlan topic编程语言专题\AOP拦截器 表达式写法.docx \0 it impttec
  8. Atitit 下推自动机﹙PDA﹚说明书 目录 1. 概念组成与原理成分 1 2. 性状 1 3. 适用场景 主治 适应症 1 3.1. 所有场景()。 1 3.2. 语法解析 构建ast 2 3.
  9. Atitit 软件运行环境平台的变迁 attilax大总结 1.1.Native os时代 1.2.Vm时代 java net php 1.3.Script时代 js node。js 1.4.B
  10. Atitit 互操作之道 接口之道 attilax著