stateestimation-ipm/公式/内点法公式.tex

115 lines
4.5 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[10pt,a4paper,final]{report}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{fontspec}%使用xetex
\setmainfont[BoldFont=黑体]{宋体} % 使用系统默认字体
\XeTeXlinebreaklocale "zh" % 针对中文进行断行
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt % 给予TeX断行一定自由度
\linespread{1.5} % 1.5倍行距
\begin{document}
由于之前的Gauss-Newton对1047节点收敛性不好dX为0的时候最优条件不为0准备改用内点法求解。
\begin{equation}
f(x)=[z-h(x)]^T W [z-h(x)]
\end{equation}
最优条件等价为
\begin{equation}
\bigtriangledown f(x)=J^T W [h(x)-z]=0
\end{equation}
其中$J$$h(x)$$Jacobi$矩阵
\newline
对于线路功率
线路有功功率Jacobi
\begin{equation}
\begin{aligned}
\frac{\partial P_{ij}}{\partial V_1}=
2V_1G_{ij}-V_2[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}]
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
\frac{\partial P_{12}}{\partial V_2}=
-V_1[cos(\theta_1 - \theta_2)G_{ij}+sin (\theta_1 - \theta_2)B_{ij}]
\end{aligned}
\end{equation}
利用Newton法对上式进行展开写成元素形式。以两个变量为例
\begin{equation}
\bigtriangledown f= [ \bigtriangledown f_1\,, ... \,,\bigtriangledown f_n]^T
\end{equation}
\begin{equation}
\begin{aligned}
\bigtriangledown^2 f_1=(\omega_1 \frac{ \partial f_1 }{\partial x_1} \frac{ \partial f_1 }{\partial x_1}
+\omega_2 \frac{ \partial f_2 }{\partial x_1} \frac{ \partial f_2 }{\partial x_1} ) \Delta x_1 \\
+ (\omega_1 \frac{ \partial f_1 }{\partial x_1} \frac{ \partial f_1 }{\partial x_2}
+\omega_2 \frac{ \partial f_2 }{\partial x_1} \frac{ \partial f_2 }{\partial x_2} ) \Delta x_2 \\
+( \omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_1 } + \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_1 } ) \Delta x_1 \\
+ ( \omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_2 } + \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_2 } ) \Delta x_2
\end{aligned}
\end{equation}
利用matlab的语句可以表示为
\begin{equation}
J ^T W J + \tilde{Q}
\end{equation}
其中
$J$具有以下形式
\begin{equation}
J=\left[ %左括号
\begin{array}{cc} %该矩阵一共3列每一列都居中放置
\frac{\partial f_1}{ \partial x_1} & \frac{\partial f_1}{ \partial x_2}\\ %第一行元素
\frac{\partial f_2}{ \partial x_1} & \frac{\partial f_2}{ \partial x_2}\\ %第二行元素
\end{array}
\right] %右括号
\end{equation}
\begin{equation}
J ^T W J=
(\omega_1 \frac{ \partial f_1 }{\partial x_1} \frac{ \partial f_1 }{\partial x_1}
+\omega_2 \frac{ \partial f_2 }{\partial x_1} \frac{ \partial f_2 }{\partial x_1} ) \Delta x_1 \\
+ (\omega_1 \frac{ \partial f_1 }{\partial x_1} \frac{ \partial f_1 }{\partial x_2}
+\omega_2 \frac{ \partial f_2 }{\partial x_1} \frac{ \partial f_2 }{\partial x_2} ) \Delta x_2
\end{equation}
\begin{equation}
\label{非矢量化二阶导数}
\tilde{Q}=
( \omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_1 } + \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_1 } ) \Delta x_1 \\
+ ( \omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_2 } + \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_2 } ) \Delta x_2
\end{equation}
式(\ref{非矢量化二阶导数})可以用Matlab语言在不需要循环的情况下处理好。因为
% 线路功率二阶导数
\begin{equation}
\begin{aligned}
\frac{\partial^2 P_{12}}{\partial V_1^2}&=
\frac{-2}{k^2}B_{12}\\
&=\frac{-2B_{12}}{k^2}
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
\frac{\partial^2 P_{12}}{\partial V_1 \partial V_2 }&=
\frac{-1}{k}[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}] \\
&=
\frac{-[sin(\theta_1 - \theta_2)G_{ij}-cos (\theta_1 - \theta_2)B_{ij}]}{k}
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
\frac{\partial^2 P_{12}}{\partial V_2^2}&=0
\end{aligned}
\end{equation}
利用
sparse([1 1],[1 1],[$ \omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_1 } \quad \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_1 } $] ) 可以表示
$
\omega_1 f_1 \frac{ \partial ^2 f_1 }{ \partial x_1 \partial x_1 } + \omega_2 f_2 \frac{ \partial ^2 f_2 }{ \partial x_1 \partial x_1 }
$
在海森矩阵中与 $\Delta x_1$ 对应的元素也就是第一行第一列的元素其他的类似。用这种办法可以不利用矢量化公式任然依靠Matlab语句实现矢量化运算。
\end{document}