EDA365电子工程师网

标题: 請教如何使優化仿真跑出多組解? [打印本页]

作者: haoyu7417    时间: 2017-11-9 10:27
标题: 請教如何使優化仿真跑出多組解?
目前在做一個電路的優化仿真,希望調整一組元件值來達成預期效果,( {' A0 ]9 z& g# _. _% O8 X) f2 e3 V
變數為幾個元件的元件值,
2 z, `+ N8 {* S% q5 xlimit設置為在一個頻率範圍內低於某個值。
$ b/ v/ T+ a- U1 @7 R* A$ f+ H+ k) e
% `5 i2 o8 f3 k, p, ]+ H
目前遇到的問題是優化跑到某個符合條件的解就會停止,
- ?6 j2 e$ x8 V- x) f能否改成如果設置需要跑10000次,
, @" W* T8 ]6 ~( s則優化能夠跑滿10000次, 並且將符合條件的解都存取或者列出來?! x4 V5 q+ O" ?: h' @4 m" |

" S0 \+ K8 L) d+ ~# }承上, 若可以在一定次數內跑出符合條件的多組解,$ q' C/ Q2 u+ j# U  ]
那能否改變條件, 並將第一次跑出的所有解都帶入新條件嘗試,6 P- J1 R' J! C0 w5 S. e5 @
看第二次還符合條件的解剩下多少?; k8 c; t" s, z) m2 e7 @
3 U3 d" `5 J# g) x* U

2 ?7 A9 \/ c2 W! b0 ?3 @如圖, 即便設置最多跑10000次, 第5464次達到目標後即停止優化,) l; c: U6 C5 t
如何使其跑滿指定次數並列出多組解(如果有解)?3 `7 {4 V+ f7 c; v+ ]

2 A- _/ y* F2 `. ]4 T* i% W請各位大神幫忙~
% N1 Q' u- ~7 f- T. b/ [
作者: 菩提老树    时间: 2017-11-11 20:12
这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果
作者: haoyu7417    时间: 2017-11-13 10:11
菩提老树 发表于 2017-11-11 20:12
2 h0 o% c# Q8 [0 U这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果

0 o' F. v  z$ t9 x9 {" H8 c( N2 B意思是如果選擇優化的方式, 就只能按條件得到一個解即停止運算,
8 O: N  ]( l& q6 e若想得到多組解或者跑滿所有次數, 就不能選擇使用優化的方式?
- `- Q4 X& _4 B/ T4 `) n- o- f; \2 |3 l& ]( d
我後來找到另一個使用Yield的方式能依照設定的次數跑滿,4 x1 S' R, g, r+ \$ X1 S" Q0 V
並告知符合條件的解有多少," T1 W6 k4 `# B' ?, P% g8 _
但這個方式看起來並無使用Error function的方式逼近,
( i8 s7 J8 G) h- R' U9 K因此只能設定很大的次數來涵蓋, 似乎效率很低。3 \, r& S& i0 d6 l2 }

5 O* q# v+ m8 O* j9 t1 ^( x除此之外是否還有其他方式可以得到多組解,$ J( t1 x2 C( c6 B8 k% \# `  i
甚至在變數範圍內找到所有解?
( i. ?: F8 I8 l. J/ N5 z) i" P! W% \/ u9 o# P* t. P* _





欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2