aeshnik


Уменьшая скорость роста энтропии вселенной


Previous Entry Share Next Entry
Подбор параметров, обеспечивающих желаемое поведение модели объекта
aeshnik
У меня есть кое-какой опыт подготовки статей в научные издания, поэтому этот текст мы будем называть очерком о работе: здесь не будет ненавистного мной канцелярского языка.

Ниже я покажу, как для описанной в Simulink модели можно подобрать параметры модели так, чтобы обеспечить желаемое поведение модели.

Договоримся о терминах в начале. Simulink - это инструмент графического представления алгоритмов. В виде блок-схем в нем описывают непрерывные системы, дискретные системы, системы с нелинейностями, гибридные (включающие вышеперечисленные компоненты и неназванное) системы. При исполнении модели (по-английски процесс вычислений с уже созданной моделью называют simulation, создание модели - modeling) итеративно от блока к блоку передаются значения. Когда вся схема просчитывается, система переходит к следующему этапу во времени. В этом процессе есть особенности, связанные с типом описываемых систем и выбранным методом интегрирования, о которых я здесь не упоминаю.

У Simulink существуют расширения. Это не только наборы блоков, но и другие подходы к описанию моделей. В примере ниже для описания объекта используется расширение SimElectronics, работающее с использованием языка и подхода к моделированию Simscape. Эта концепция коренным образом отличается от моделирования в обычном Simulink, хотя в то же время полностью совместима с моделями Simulink. При описании моделей в этих инструментов описывается физическая сеть компонентов - блоки, описывающие уравнениями поведение компонентов реального мира, соединенные идеальными физическими соединениями. Перед решением так описанных уравнений система собирает дифференциальные алгебраические уравнения, которые потом решаются итеративно.

Модель, с которой предстоит работать, можно посмотреть по ссылке: тынц. О том, как она была получена, и о физическом моделировании я расскажу как-нибудь при случае. Сейчас перед нами стоит задача - изменить четыре параметра (R, L1, L2, C) так, чтобы сигнал, который мы приняли за КПД, был максимально возможным. Этот сигнал вычисляется делением значений сигнала "num" на значения сигнала "den" в блоке диагностики. Сейчас значение КПД после моделирования таково (в модели идут переходные процессы, потому что начальные напряжения на блоках не соответствуют состоянию устойчивого равновесия):
Рис. 1. КПД до выбора параметров.
Рис. 1. КПД до выбора параметров.

Так как значение КПД можно посчитать на основании результатов моделирования, мы можем поставить задачу поиска экстремума: минимизировать значение функции, описывающей отрицательное значение КПД, при этом изменяя параметры схемы R, C, L1, L2. Для этого воспользуемся продуктом Simulink Design Optimization.
Рис. 2. Вызов Response Optimization.
Рис. 2. Вызов инструмента Response Optimization продукта Simulink Design Optimization.

Далее нам необходимо указать в инструменте изменяемые параметры, описать значение, которое необходимо максимизировать, и выбрать метод оптимизации. Чтобы не повторяться и не цитировать документацию по Simulink Design Optimization, я позволю себе сослаться на записанное видео.

В видео упомянуты три метода оптимизации - Gradient Descent, Pattern Search и Simplex Search. Им соответствуют функции в Optimization Toolbox (fmincon, fminsearch, fminbnd) и Global Optimization Toolbox (patternsearch). В статьях по этим функциям в свою очередь есть ссылки на литературу, в соответствии с которой реализованы алгоритмы. Их я приведу в самом конце, если кому-то интересно и одновременно трудно открыть статьи по функциям. Под катом, пожалуй.
Видео 1. Подготовка Simulink Design Optimization к работе.
После настройки следует запустить процесс оптимизации - для этого в интерфейсе предусмотрена большая кнопка Play. В зависимости от выбранного метода и ограничений на изменяемые параметры будет получен разный результат. Мне, используя Simplex Search и ограничив параметры значением 0,00000001 (они должны быть больше нуля, кроме сопротивления - может быть нулевым), емкость значением 1*10^-6 Ф, удалось получить следующие результаты (04.08.2012, важное замечаниена самом деле, Simplex Search не поддерживает ограничение параметров; уточнение: во время оптимизации было выбрано указанное значение емкости, после чего для оптимизации были выбраны три оставшиеся переменных, уменьшение которых не приводило к увеличению КПД; Pattern Search учитывает ограничения и приводит к близкому значению КПД, изменяя все 4 параметра, но за более продолжительное время):
Рис. 3. КПД до и после настройки параметров.
Рис. 3. КПД до и после настройки параметров.
Заметим, что нам удалось решить нетривиальную задачу оптимизации без постановки ее в математическом смысле. Нам потребовалось указать параметры, которые можно менять в модели, указать значение и что с ним нужно сделать при оптимизации.

Ссылки из статьи по fmincon:
[1] Byrd, R.H., J. C. Gilbert, and J. Nocedal, "A Trust Region Method Based on Interior Point Techniques for Nonlinear Programming," Mathematical Programming, Vol 89, No. 1, pp. 149–185, 2000.

[2] Byrd, R.H., Mary E. Hribar, and Jorge Nocedal, "An Interior Point Algorithm for Large-Scale Nonlinear Programming, SIAM Journal on Optimization,"SIAM Journal on Optimization, Vol 9, No. 4, pp. 877–900, 1999.

[3] Coleman, T.F. and Y. Li, "An Interior, Trust Region Approach for Nonlinear Minimization Subject to Bounds," SIAM Journal on Optimization, Vol. 6, pp. 418–445, 1996.

[4] Coleman, T.F. and Y. Li, "On the Convergence of Reflective Newton Methods for Large-Scale Nonlinear Minimization Subject to Bounds,"Mathematical Programming, Vol. 67, Number 2, pp. 189–224, 1994.

[5] Gill, P.E., W. Murray, and M.H. Wright, Practical Optimization, London, Academic Press, 1981.

[6] Han, S.P., "A Globally Convergent Method for Nonlinear Programming," Vol. 22, Journal of Optimization Theory and Applications, p. 297, 1977.

[7] Powell, M.J.D., "A Fast Algorithm for Nonlinearly Constrained Optimization Calculations," Numerical Analysis, ed. G.A. Watson, Lecture Notes in Mathematics, Springer Verlag, Vol. 630, 1978.

[8] Powell, M.J.D., "The Convergence of Variable Metric Methods For Nonlinearly Constrained Optimization Calculations," Nonlinear Programming 3(O.L. Mangasarian, R.R. Meyer, and S.M. Robinson, eds.), Academic Press, 1978.

[9] Waltz, R. A., J. L. Morales, J. Nocedal, and D. Orban, "An interior algorithm for nonlinear optimization that combines line search and trust region steps," Mathematical Programming, Vol 107, No. 3, pp. 391–408, 2006.

Ссылки из статьи по fminsearch:
[1] Lagarias, J. C., J. A. Reeds, M. H. Wright, and P. E. Wright, "Convergence Properties of the Nelder-Mead Simplex Method in Low Dimensions,"SIAM Journal of Optimization, Vol. 9, Number 1, pp. 112–147, 1998.
fminbnd:

[1] Forsythe, G.E., M.A. Malcolm, and C.B. Moler, Computer Methods for Mathematical Computations, Prentice Hall, 1976.

[2] Brent, Richard. P., Algorithms for Minimization without Derivatives, Prentice-Hall, Englewood Cliffs, New Jersey, 1973.

patternsearch:

[1] Audet, Charles and J. E. Dennis Jr. "Analysis of Generalized Pattern Searches." SIAM Journal on Optimization, Volume 13, Number 3, 2003, pp. 889–903.

[2] Conn, A. R., N. I. M. Gould, and Ph. L. Toint. "A Globally Convergent Augmented Lagrangian Barrier Algorithm for Optimization with General Inequality Constraints and Simple Bounds." Mathematics of Computation, Volume 66, Number 217, 1997, pp. 261–288.

[3] Abramson, Mark A. Pattern Search Filter Algorithms for Mixed Variable General Constrained Optimization Problems. Ph.D. Thesis, Department of Computational and Applied Mathematics, Rice University, August 2002.

[4] Abramson, Mark A., Charles Audet, J. E. Dennis, Jr., and Sebastien Le Digabel. "ORTHOMADS: A deterministic MADS instance with orthogonal directions." SIAM Journal on Optimization, Volume 20, Number 2, 2009, pp. 948–966.

[5] Kolda, Tamara G., Robert Michael Lewis, and Virginia Torczon. "Optimization by direct search: new perspectives on some classical and modern methods." SIAM Review, Volume 45, Issue 3, 2003, pp. 385–482.

[6] Kolda, Tamara G., Robert Michael Lewis, and Virginia Torczon. "A generating set direct search augmented Lagrangian algorithm for optimization with a combination of general and linear constraints." Technical Report SAND2006-5315, Sandia National Laboratories, August 2006.

[7] Lewis, Robert Michael, Anne Shepherd, and Virginia Torczon. "Implementing generating set search methods for linearly constrained minimization." SIAM Journal on Scientific Computing, Volume 29, Issue 6, 2007, pp. 2507–2530.




?

Log in

No account? Create an account