EDA365电子工程师网

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

作者: haoyu7417    时间: 2017-11-9 10:27
标题: 請教如何使優化仿真跑出多組解?
目前在做一個電路的優化仿真,希望調整一組元件值來達成預期效果,
1 t* M; w! a  }變數為幾個元件的元件值,
; G( Q6 _& Z# M4 f* slimit設置為在一個頻率範圍內低於某個值。6 ?8 d4 z( |! D

; D: s6 M/ P4 t2 I$ G% ]0 r! O& [+ `$ [
目前遇到的問題是優化跑到某個符合條件的解就會停止,! T. k3 y. y+ N8 L+ |  u# j
能否改成如果設置需要跑10000次,
8 q2 X% S9 {% @* y/ x4 M4 J則優化能夠跑滿10000次, 並且將符合條件的解都存取或者列出來?( S, m6 f1 B+ N4 T% U% K/ D
/ Z% ^1 {* b# x1 g# m6 J4 x
承上, 若可以在一定次數內跑出符合條件的多組解,' r8 i! `5 F/ |1 {( i" c3 P: ]: p
那能否改變條件, 並將第一次跑出的所有解都帶入新條件嘗試,
! l# e; `9 K6 U+ K2 X5 u/ T看第二次還符合條件的解剩下多少?) K/ J+ @/ [, \$ J. s

+ l' |: o: f! e3 P$ l" Y2 F* W
; A, I& }- D% R% B6 q* p; h如圖, 即便設置最多跑10000次, 第5464次達到目標後即停止優化,' G- C& O0 c. F0 ]! M' `
如何使其跑滿指定次數並列出多組解(如果有解)?1 y9 b7 y' P8 Y$ l& ]# ~7 |
' m  s# X: ]1 {3 _$ ?/ L* u( J
請各位大神幫忙~
* d$ {7 l8 }8 E5 ?% W, E& Q5 ^
作者: 菩提老树    时间: 2017-11-11 20:12
这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果
作者: haoyu7417    时间: 2017-11-13 10:11
菩提老树 发表于 2017-11-11 20:12+ W+ ~& U$ u7 m/ S/ w
这是优化,所以只按你的条件得到一个最优解,多组的结果都是一个过程结果
8 s, m# n' a7 l' H
意思是如果選擇優化的方式, 就只能按條件得到一個解即停止運算,
# ~7 v' G# Q9 E7 I0 ^若想得到多組解或者跑滿所有次數, 就不能選擇使用優化的方式?
# R7 N. F2 O# Y4 ^" F* |' q
  O( C7 X7 l- k5 h0 ^$ z! d我後來找到另一個使用Yield的方式能依照設定的次數跑滿,
* h4 e' v  a% h並告知符合條件的解有多少,
: ]  M5 ~/ G. T: i, s但這個方式看起來並無使用Error function的方式逼近,
6 H% Y/ I( t4 u" |) d  l因此只能設定很大的次數來涵蓋, 似乎效率很低。, ]( z9 I# c6 D& [
" z" o& ^0 D& X% ]2 A, B, [
除此之外是否還有其他方式可以得到多組解,3 r6 I+ |/ z' B  J% e
甚至在變數範圍內找到所有解?
. K0 a6 o% @* \7 M, D/ k
3 P. D2 a" d& f4 E& Y: I1 g& x




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