抄録
非線形回路,あるいはそれを区分的線形近似することにより得られる区分的線形回路のすべての直流解を求める効率的かつ実用的なアルゴリズムを確立することは,集積回路設計における重要な未解決問題の一つである.この問題に対しては様々なアルゴリズムが提案され,特に最近のアルゴリズムでは数千〜数万変数クラスの大規模非線形方程式の全解探索にも成功している.しかしこれらのアルゴリズムはインプリメンテーションの際に高度な専門的知識と複雑なプログラミングを必要とするため,初心者や非専門家には敷居の高い方法であった.これに対し,先に筆者らは,整数計画法のソフトウェアを用いた区分的線形回路の全解探索法を提案し,この方法が高度な専門的知識や複雑なプログラミングなしに初心者でも簡単にインプリメントできることを示した.特に商用のソフトウェアであるCPLEXを用いた場合,解プールという機能を利用することにより,極めて簡単に全解探索を行えることを示した.しかしGLPKなどの無償のソフトウェアを用いた場合,一般には解プールの機能が存在しないため,全解探索を確実に行うことが困難となる問題が生じていた.本稿では,GLPKなどの解プール機能のないソフトウェアを用いた場合を対象に,区分的線形回路のすべての解を確実に求める方法について提案する.この方法によりフリーのソフトウェアを用いて誰でも簡単に確実な全解探索を行うことが可能となる.
Finding all DC solutions of nonlinear or piecewise-linear circuits is an important problem in circuit simulation. For this problem, the authors have recently proposed a new method for rinding all solutions of piecewise-linear circuits using integer programming. In this method, we formulate the problem of finding all solutions into a mixed integer programming problem, and solve it by a high-performance integer programming software such as GLPK or CPLEX. It has been shown that the proposed method can be easily implemented without difficult theory nor making complicated programs. However, when we use the free software such as GLPK, it is not guaranteed that this method can certainly find all solutions because free softwares do not have the solution pool feature. In this paper, we propose an effective method for finding all solutions with certainty using the free software GLPK.