修士論文要旨
(2014
年度)
線形計画法を用いた非線形回路の全解探索法に関する研究
A Study on Algorithms Using Linear Programming for Finding All Solutions of Nonlinear Circuits
電気電子情報通信工学専攻 木南 翔太
Shota KINAMI 1.
ま え が き非線形回路の全ての直流解を求める効率的かつ実用的な アルゴリズムを確立することは,集積回路設計における重 要な未解決問題の一つである
.
この問題は変数の数の増加 とともに計算時間が指数関数的に増大する,本質的に難し い問題である.この問題については,文献[1]-[17]
などで 多くの効率的なアルゴリズムが提案されてきた.多くの 従来法は,分枝限定法と区間解析の考えに基づいている.区間解析では,アルゴリズムの早い段階で解を含まない 多くの領域を除去できるように,与えられた領域におけ る解の非存在判定能力(領域除去能力)を強力にするこ とが重要となる.強力な解の非存在判定テストとしては,
LP
テストと呼ばれる線形計画法を用いた方法が知られて いる[7]
.LP
テストとは「非線形関数を多角形で囲むこ とにより得られる線形計画問題」を単体法で解くことに より,与えられた領域における解の非存在を判定する方 法である.一般にLP
テストは非線形関数を囲む多角形 の面積が小さいほど解の非存在判定能力(領域除去能力)が強くなる.
本研究では,長方形と平行四辺形を併用した
LP
テスト による非線形回路の効率的な全解探索法を提案する.更 に,数値例により,提案手法の有効性を検証する.2.
対象とする問題n
個の非線形抵抗を含む直流回路は,一般に次のような 形の非線形方程式で記述することができる.f (x) =
△P g(x) + Qx − r = 0 (1)
ただし,
x = (x
1, x
2, · · · , x
n)
T∈ R
n は非線形抵抗の 枝電圧または枝電流を要素とするn
次元変数ベクトル,g(x) = [g
1(x
1), g
2(x
2), · · · , g
n(x
n)]
T はこれらの抵抗の 特性を表すR
n からR
n への非線形関数(ただし各成分は一変数関数とする),
P , Q
は回路の構造によって決ま るn × n
定数行列,r
は電源の値によって決まるn
次元 定数ベクトルである.本稿では,初期領域D
に存在する 式(1)
のすべての解を求める問題を考える.3.
基本アルゴリズム3. 1
区 間 解 析区間解析の基本的なアルゴリズムを述べる.
n
次元区間 ベクトル[a
i, b
i] (i = 1, 2, · · · , n)
は次のように表されるX = ([a
1, b
1], [a
2, b
2], · · · , [a
n, b
n])
T. (2)
幾何学的には,X
はn
次元直方体である.区間解析では,はじめ領域
X = D
として,
次の手続きを 再帰的に行う.
各段階において,領域X
を解析する.も しX
に式(1)
の解が存在しない場合,解析から除外する.もし
X
に式(1)
の一意解が存在する場合,適当な反復法 によりその解を求める.もしこれらのいずれも成立しな い場合,
その領域を二分割しそれぞれに対して同様の手順 を行う.
与えられた初期領域D
に含まれる式(1)
の解の 個数は有限であるため,区間解析では数学的保証をもって 式(1)
のD
におけるすべての解を見つけることができる.3. 2 LP
テスト文献
[7]
で提案された強力な解の非存在判定テスト(LP
テスト)
について述べる.LP
テストでは,式(1)
の解の非存 在が次のように証明される.まず初めにX = ([a
1, b
1], · · ·
, [a
n, b
n])
T に対するg
i(x
i) (i = 1, 2, · · · , n)
の値域を計 算する.そして[a
i, b
i]
に対するg
i(x
i)
の値域を[c
i, d
i]
と する.次に,補助変数y
i= g
i(x
i) (i = 1, 2, · · · , n)
を導 入する.ゆえに,もしa
i< = x
i< = b
iならばc
i< = y
i< = d
i となる.ここで式(1)
のそれぞれの非線形関数g
i(x
i)
を 補助変数y
iと線形不等式c
i< = y
i< = d
i で置き換える.そ して次の線形計画(LP)
問題を考える.
最大化
(
任意の定数)
制約式P y + Qx − r = 0
a
i< = x
i< = b
i, i = 1, 2, · · · , n c
i< = y
i< = d
i. i = 1, 2, · · · , n
(3)
なお
y = (y
1, y
2, · · · , y
n)
T∈ R
nである.そして,
線形計 画問題(3)
に単体法を適用する.明 ら か に ,
X
内 に 存 在 す る 式(1)
の す べ て の 解 はy
i= g
i(x
i)
とおけば(3)
の制約式を満たす.すなわち 式(3)
の実行可能領域はX
内の式(1)
の解をすべて含む 凸多面体である.ゆえに,もし実行可能領域が存在しな ければ,X
内に式(1)
の解は存在しない.式(3)
の実行可 能領域の存在と非存在は,単体法により確認できる.も し単体法を行った結果実行可能領域がなければ,X
に式(1)
の解は存在しない.このテストはLP
テストと呼ばれ る.LP
テストをKrawczyk-Moore
法のような区間アル ゴリズムに導入することによって,式(1)
のすべての解を 効率的に求めることが出来る.式
(3)
に対する単体法の実装においては,線形計画問題 が非負制約を満たす次の形となるように次のような変数 変換を適用する.
¯
x
i= x
i− a
i¯
y
i= y
i− c
i(4)
この変数変換は図
1(a)
の左下に示すような座標系への変 数変換を意味する.
変数変換を適用した時の,線形計画問 題を次に示す.
最大化
(
任意の定数)
制約P y ¯ + Q¯ x − ¯ r = 0
¯
x
i< = b
i− a
i, i = 1, 2, · · · , n
¯
y
i< = d
i− c
i, i = 1, 2, · · · , n
¯
x
i> = 0 , y ¯
i> = 0 . i = 1, 2, · · · , n
(5)
ただし
x ¯ = (¯ x
1, x ¯
2, · · · , x ¯
n)
T, ¯ y = (¯ y
1, y ¯
2, · · · , y ¯
n)
T,
そ してr ¯ = r − P(c
1, c
2, · · · , c
n)
T− Q(a
1, a
2, · · · , a
n)
T で ある.x
ix
ix
ib b
ia
ix
ia
ii
i
c d
i(b) (a)
i
i
y y
iy
iy
図1 関数の非線形性が弱い場合,平行四辺形LPテスト は長方形LPテストよりも強力となる.
x
i(b) x
(a)
i i
i
y
y
図2 関数の非線形性が強い場合,平行四辺形LPテスト は長方形LPテストよりも弱くなる.
3. 3
双対LP
テスト双対
LP
テストとは,
線形計画法の双対単体法を用いる ことで,
上記で述べたLP
テストと同様の効果を少ない計 算量で実現できる方法である.
文献[9]
では,2
つ目の領 域から双対単体法を使用することによって,1
領域あたり わずかな回数(
しばしば0
回)
のピボット演算でLP
テス トが行えることが示されている.この手法を用いること によって,LP
テストは強力なだけでなく効率的となる.4.
提 案 手 法本章では,アルゴリズムの初期の段階では長方形を使 い,関数の非線形性が弱くなれば平行四辺形を用いる方 法を提案する
.
ただし長方形から平行四辺形にそのまま切 り換えると,制約条件の数が増え,タブローのサイズも 大きくなる.また,切り換えた時点での双対単体法の適 用が不可能になる.本稿ではこの問題を適切な変数変換 により解決する.一般に
LP
テストは非線形関数を囲む多角形の面積が小さ いほど解の非存在判定能力(領域除去能力)が強くなる.図
1(a
)に示すように,関数の非線形性が弱い場合,長方x
i(b) (a)
x
iy
iy
i図3 長方形と平行四辺形を切り替えるLPテストアルゴ リズム
形は必要以上に大きくなり,
LP
テストの非存在判定能力 が弱まる.文献[12]
では,図1(b)
に示すような非線形関 数を平行四辺形で囲むLP
テストが提案された.このテス トは,関数の非線形性が弱い場合強力である.しかし,も し図2(b)
に示すように関数の非線形性が強い場合,平行 四辺形は長方形よりも大きくなる.それゆえ,LP
テスト の非存在判定能力が弱まる.さらに,この文献[12]
で示 された平行四辺形LP
テストでは制約式数が増えてしま う.制約式数が増えると,LP
テストの効率性が弱まる.平行四辺形を用いた
LP
テストは次のようにあらわさ れる最大化
(
任意の定数)
制約式P y + Qx − r = 0
a
i< = x
i< = b
i, i = 1, 2, · · · , n y
i< = R
ix
i+ β
i, i = 1, 2, · · · , n y
i> = R
ix
i+ β
i. i = 1, 2, · · · , n
(6)
ただし
y = (y
1, · · · , y
n)
T は補助変数ベクトルで,R
i は図
4
に示されるような平行四辺形の横軸側の直線の傾き であり,次の式で与えられる.
R
i= g
i(b
i) − g
i(a
i) b
i− a
i(7) β
i及びβ
iもまた, 図4
で示されるようなy
座標である.
なお線形計画問題(6)
では非負制約を省略している.
長方形から平行四辺形に切り替えるときに文献
[9]
で使 われている変数変換を用いると,制約式数が増えてしま う.さらに,タブローサイズが変わってしまうため双対単 体法が使用できなくなる.本研究では,適切な変数変換ݕ
ݔ
ܽ
ܾ
ഴ䛝ܴ ߚ
ߚ
図4 平行四辺形LPテスト.
を用いることによってこの問題を解決するすなわち,次 のような変数変換を適用する
.
¯
x
i= x
i− a
i¯
y
i= y
i− γ
i− α
ix ¯
i(8)
この変数変換は図1(b)
の左下に示すような座標系への変 数変換を意味する.
このとき,平行四辺形をあらわす制約 は次のようになる¯
x
i< = b
i− a
i¯
y
i< = β ¯
i− β
i¯
x
i> = 0 y ¯
i> = 0 .
(9)
したがって,制約条件の数もタブローサイズも長方形のと きと同じになる.よって
,
長方形と平行四辺形を併用したLP
テストによる非線形回路の効率的な全解探索法が可能 となる.
5.
数 値 例提案手法を適用した数値例を示す
.
アルゴリズムの実 装にはC
言語(倍精度)を用い,
計算機はDell Precision T7400 (CPU: Intel Xeon 3.4GHz)
を使用した.例
1
:文献[12]
の数値例の例1
で解かれているn
変数 の非線形方程式に対し,n = 100
として文献[9], [12]
と提 案手法を適用したときの探索領域数,総ピボット演算回 数,1
領域あたりの平均ピボット演算回数,そして計算時 間を表1
に示す.ここで文献[9]
では長方形のみを使用し たLP
テストであり, [12]
は従来の制約式数が増えてしま う平行四辺形のみを使用したLP
テストである.
提案手法 では制約条件の数が少なく,また一貫して双対単体法が 適用されるため,1
領域当りの平均ピボット演算回数が少 なくなる.またアルゴリズム全体で適切な大きさの多角 形が使用されるため探索領域数も少なくなり,併せて計表1 例1の計算結果
探索領域数 総ピボット 平均ピボット 時間 演算回数 演算回数 (秒)
文献
[9] 250 007 839 608 3.35 334
文献
[12] 84 727 1 249 797 14.75 413
提案手法
72 911 243 348 3.33 79
表2 例2における計算時間の比較(秒)
n
解の個数 文献[15]
提案手法100 9 0.3 0.2
200 13 3 2
300 11 8 5
400 9 29 13
500 13 55 28
. .. .
.. .
.. .
..
1000 17 885 419
2000 9 5398 3201
3000 27 47357 28110
4000 21 70628 54558
5000 15 145260 89340
算時間の短縮が実現される
.
例
2
:文献[15]
において,変数分離可能な非線形方程 式系のすべての解を求める効率的な手法が提案されてい る.これはLP
縮小と呼ばれ,解を含まない領域は除去し 解を含む領域は線形計画法を用いて領域縮小する手法で ある.今回,
提案手法とLP
縮小のアルゴリズムを組み合 わせ,n
個のエサキダイオードを含む非線形回路に適用し た.文献[15]
のアルゴリズムと提案手法を適用したとき の計算時間の比較を表2
に示す.表2
より,提案手法で は5000
変数の非線形方程式系の解析が,約24
時間でお こなえていることがわかる.6.
む す び本研究では
LP
テストによる非線形回路の効率的な全解 探索法を提案した.
提案手法はアルゴリズムの初期の段階 では長方形を使い,関数の非線形性が弱くなれば平行四 辺形を用いる方法である.
提案手法ではアルゴリズムの全 体を通して双対単体法と適切な形の多角形が用いられる ため,従来の長方形のみまたは平行四辺形のみを用いたLP
テストよりも効率的となる事を数値例により示した.
文献
(
下線は研究業績)
[1] L.O. Chua and R.L.P. Ying, “Finding all solutions of piecewise-linear circuits,” Int. J. Circuit Theory Appl., vol.10 no.3, pp.201–229, July 1982.
[2] S. Pastore and A. Premoil, “Polyhedral elements: A new al- gorithm for capturing all the equilibrium points of piecewise- linear circuits,” IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol.40, no.2, pp.124–132, Feb. 1993.
[3] K. Yamamura and M. Ochiai, “An efficient algorithm for find- ing all solutions of piecewise-linear resistive circuits,” IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol.39, no.3, pp.213–221, March 1992.
[4] K. Yamamura, “Finding all solutions of piecewise-linear re- sistive circuits using simple sign tests,” IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol.40, no.8, pp.546–551, Aug.
1993.
[5] M. Tadeusiewicz and K. Glowienka, “A contraction algorithm for finding all the DC solutions of piecewise-linear circuits,”
J. Circuits, Systems, and Computers, vol.4, no.3, pp.319–336, Sept. 1994.
[6] K. Yamamura and M. Mishina, “An algorithm for finding all solutions of piecewise-linear resistive circuits,” Int. J. Circuit Theory Appl., vol.24, no.2, pp.223–231, March 1996.
[7] K. Yamamura, H. Kawata, and A. Tokue, “Interval solu- tion of nonlinear equations using linear programming,” BIT—
Numerical Mathematics—, vol.38, no.1, pp.186–199, March 1998.
[8] K. Yamamura and T. Ohshima, “Finding all solutions of piecewise-linear resistive circuits using linear programming,”
IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol.45, no.4, pp.434–445, April 1998.
[9] K. Yamamura and S. Tanaka, “Finding all solutions of systems of nonlinear equations using the dual simplex method, BIT
―Numerical Mathematics―, vol.42, no.1, pp.214–230, Mar.
2002.
[10] K. Yamamura and R. Kaneko, “Finding all solutions of piecewise-linear resistive circuits using the simplex method,”
IEEE Trans. Circuits Syst. I, Fundam. Theory Appl., vol.50, no.1, pp.160–165, Jan. 2003.
[11] K. Yamamura and T. Fujioka, “Finding all solutions of non- linear equations using the dual simplex method,” J. Computa- tional and Applied Mathematics, vol.152, issues 1-2, pp.587–
595, March 2003.
[12] 山村清隆,田中克昌,“双対単体法を用いた弱非線形方程式の全解探 索法,”信学論(A), vol.J88-A, no.7, pp.833–839, July 2005.
[13] K. Yamamura and K. Suda, “An efficient algorithm for find- ing all solutions of separable systems of nonlinear equations,”
BIT—Numerical Mathematics, vol.47, no.3, pp.681–691, Sept.
2007.
[14] K. Yamamura and A. Machida, “An efficient algorithm for finding all DC solutions of piecewise-linear circiuts,” Int. J.
Circuit Theory and Appl., vol.36, 2008.
[15] K. Yamamura, K. Suda, and N. Tamura, “LP narrowing:
A new strategy for finding all solutions of nonlinear equa- tions,” Applied Mathematics and Computation, vol.215, no.1, pp.405–413, Sept. 2009.
[16] 木南翔太,山村清隆, 多角形LPテストを用いた非線形回路の全 解探索法, 2013年電子情報通信学会ソサイエティ大会講演論文集, A-2-4, Sept. 2013.
[17] E. Yukawa, H. Taki, S. Kinami, and K. Yamamura, “An algo- rithm for finding all DC solutions of nonlinear circuits using polygonal LP test,” Proc. 2013 IEEE Workshop on Nonlinear Circuit Networks,pp.51–54, Dec. 2013.