EDA365电子工程师网

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

作者: haoyu7417    时间: 2017-11-9 10:27
标题: 請教如何使優化仿真跑出多組解?
目前在做一個電路的優化仿真,希望調整一組元件值來達成預期效果,! k! D/ [- _0 P/ z# a  u" `
變數為幾個元件的元件值,# }6 T4 F% o# v# n3 k, t+ U9 \
limit設置為在一個頻率範圍內低於某個值。& X, q8 ?" t, T7 }* u' f
3 v% L6 l2 `5 S* j; b
9 C. }( h+ @0 c9 [0 w
目前遇到的問題是優化跑到某個符合條件的解就會停止,
7 P# [5 _+ [; w) }% }% H能否改成如果設置需要跑10000次,
7 `8 k% U. o0 C* |( G7 k) z則優化能夠跑滿10000次, 並且將符合條件的解都存取或者列出來?
. ?6 s0 l# d& `& y9 i- p
; E! a. o& S$ H; y承上, 若可以在一定次數內跑出符合條件的多組解,/ Z, p/ p. `3 y: e: C1 @+ \! w
那能否改變條件, 並將第一次跑出的所有解都帶入新條件嘗試,
3 D  F; A/ D: {2 o2 C: S9 J看第二次還符合條件的解剩下多少?0 J! J$ G! E- ^1 n; V) s

- ^2 p- r* {! g, O9 _- s0 B3 g 6 t- L8 K2 ?, n
如圖, 即便設置最多跑10000次, 第5464次達到目標後即停止優化,
, J& k$ o% [) o6 f: @) v( N: z如何使其跑滿指定次數並列出多組解(如果有解)?, R  I; Y, @/ A7 r' s; m$ ~
& S" [7 \. x3 g. H2 [8 R" p0 h" \: I
請各位大神幫忙~1 M$ M6 T7 z/ o  z- J/ Q/ {

作者: 菩提老树    时间: 2017-11-11 20:12
这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果
作者: haoyu7417    时间: 2017-11-13 10:11
菩提老树 发表于 2017-11-11 20:12+ G: v4 Y* b# ?. E% O* K- r
这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果

. U2 L& x6 Q, D* t6 @4 a意思是如果選擇優化的方式, 就只能按條件得到一個解即停止運算,
3 y8 R7 M2 y- Z! x. E; `( Q若想得到多組解或者跑滿所有次數, 就不能選擇使用優化的方式?- O/ ]3 l. k5 {
* }5 U; |9 w* Z9 z. J6 R% z- D
我後來找到另一個使用Yield的方式能依照設定的次數跑滿,; E4 z$ t8 G4 h1 X
並告知符合條件的解有多少,
2 j. h2 f4 ~$ f- T" s但這個方式看起來並無使用Error function的方式逼近,7 O2 S8 ]& E' F! Y2 ?4 J
因此只能設定很大的次數來涵蓋, 似乎效率很低。
' _% q( B3 a* K- y, k
0 ?) b- R: ?8 ?1 \; K/ k$ N  g除此之外是否還有其他方式可以得到多組解,4 M7 V6 P" Y. m' m! z
甚至在變數範圍內找到所有解?
4 h( K# u: r1 r( Q% ~5 L6 [  E. D# J  S1 A





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