Диссертация (Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока), страница 68
Описание файла
Файл "Диссертация" внутри архива находится в папке "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока". PDF-файл из архива "Агентная модель поведения толпы в условиях чрезвычайной ситуации для оценки интенсивности фронта выходного потока", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ ВШЭ. Не смотря на прямую связь этого архива с НИУ ВШЭ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 68 страницы из PDF
a b s ( v_new [ j ]−vAvg [ i ] [ j ] ) , l am b d a_ av g ) ;}}r e t u r n avg ;450}p r i v a t e d o u b l e [ ] [ ] e x p l o s i o n ( MyVector [ ] [ ] r ) { / / м а сси в з н а ч е н и й с л а г а е м о г о функционала455int i , j ;d o u b l e [ ] [ ] e x p l o s i o n = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ;i f ( s i t u a t i o n == S i t u a t i o n . l a c k ) {f o r ( i = 0 ; i < r .
l e n g t h ; i ++) {f o r ( j = 0 ; j < r [ 0 ] . l e n g t h ; j ++) {explosion [ i ] [ j ] = 0;}}} else {f o r ( i = 0 ; i < r . l e n g t h ; i ++) {f o r ( j = 0 ; j < r [ 0 ] . l e n g t h ; j ++) {e x p l o s i o n [ i ] [ j ] = Math . exp(−gamma_5∗ r [ i ] [ j ] . d i s t a n c e ( new MyVector ( x _ ex p l , y _ ex p l , x , y ) ) ) ;}}}return explosion ;460465470}475p r i v a t e d o u b l e [ ] [ ] w a l l ( MyVector [ ] [ ] r ) { / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаint i , j ;d o u b l e l ; / / минимальное расстояние до стенd o u b l e l 1 , l 2 , l 3 , l 4 ; / / расстояния до стенd o u b l e [ ] [ ] w a l l = new d o u b l e [ r .
l e n g t h ] [ r [ 0 ] . l e n g t h ] ;480f o r ( i = 0 ; i < r . l e n g t h ; i ++) {f o r ( j = 0 ; j < r [ 0 ] . l e n g t h ; j ++) {MyVector end = r [ i ] [ j ] . p l u s ( new MyVector ( x , y ) ) ; / / п ер ехо д в точку положения агентаl 1 = MyVector . d i s t a n c e ( end , new MyVector ( a0 , end . g et Y ( ) ) ) ; / / расстояние до л е в о й стеныl 2 = MyVector . d i s t a n c e ( end , new MyVector ( end . g et X ( ) , b0 ) ) ; / / расстояние до в е р х н е й стеныl 3 = MyVector .
d i s t a n c e ( end , new MyVector ( a0 + l e n 1 , end . g et Y ( ) ) ) ; / / расстояние до п р а в о й стеныl 4 = MyVector . d i s t a n c e ( end , new MyVector ( end . g et X ( ) , b0+ l e n 2 ) ) ; / / расстояние до нижней стеныi f ( ( end . g et Y ( ) >b11 ) &&(end . g et Y ( ) <b12 ) ) { / / расстояние до л е в о й стены при нахождении в растворе выходаl 1 = Math . min ( MyVector . d i s t a n c e ( end , new MyVector ( a0 , b11 ) ) , MyVector .
d i s t a n c e ( end , new MyVector ( a0 , b12 ) ) ) ;}i f ( ( end . g et Y ( ) >b21 ) &&(end . g et Y ( ) <b22 ) ) { / / расстояние до п р а в о й стены при нахождении в растворе выходаl 3 = Math . min ( MyVector . d i s t a n c e ( end , new MyVector ( a0 + l e n 1 , b21 ) ) , MyVector . d i s t a n c e ( end , new MyVector ( a0 + l e n 1 , b22 ) ) ) ;}l = Math .
min ( Math . min ( l 1 , l 2 ) , Math . min ( l 3 , l 4 ) ) ; / / в ы ч и сл ен и е минимального расстояния до стенw a l l [ i ] [ j ] = Math . exp(−gamma_3∗ l ) ;}}retu rn wall ;485490495500}p r i v a t e v o i d m i n i m i z e ( MyVector [ ] [ ] r ) {int i , j ,k;505min = D o u b l e . POSITIVE_INFINITY ;510515L = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] .
l e n g t h ] ; / / м а сси в з н а ч е н и й функционалаd o u b l e [ ] [ ] o c c u p a t i o n = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] d i r e c t i o n = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] d e s t i n a t i o n = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] .
l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] a n g l e = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] w a l l = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] v e l = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] max = new d o u b l e [ r .
l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] avg = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаd o u b l e [ ] [ ] e x p l o s i o n = new d o u b l e [ r . l e n g t h ] [ r [ 0 ] . l e n g t h ] ; / / м а сси в з н а ч е н и й с л а г а е м о г о функционалаo c c u p a t i o n = o c c u p a t i o n ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционала293520d i r e c t i o n = d i r e c t i o n ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаd e s t i n a t i o n = d e s t i n a t i o n ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаa n g l e = a n g l e ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаw a l l = w a l l ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаv e l = v e l ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаmax = max ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаavg = avg ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционалаe x p l o s i o n = e x p l o s i o n ( r ) ; / / расчет м а сси в а з н а ч е н и й с л а г а е м о г о функционала525f o r ( i = 0 ; i < r .
l e n g t h ; i ++) { / / расчет в с е х з н а ч е н и й функционалаf o r ( j = 0 ; j < r [ 0 ] . l e n g t h ; j ++) {L [ i ] [ j ] = b e t a _ o c c [ s i t u a t i o n . o r d i n a l ( ) ]∗ o c c u p a t i o n [ i ] [ j ] + b e t a _ d i r [ s i t u a t i o n . o r d i n a l ( ) ]∗ d i r e c t i o n [ i ] [ j ] + c r o s s [ i ] [ j ]∗ b e t a _ d e s t [s i t u a t i o n . o r d i n a l ( ) ]∗ d e s t i n a t i o n [ i ] [ j ] +b e t a _ a n g l e [ s i t u a t i o n . o r d i n a l ( ) ]∗ a n g l e [ i ] [ j ] + b e t a _ w a l l [ s i t u a t i o n .
o r d i n a l ( ) ]∗ w a l l [ i ] [ j ] + b e t a _ v e l [ s i t u a t i o n . o r d i n a l ( ) ]∗ v e l [ i ] [ j ] +b et a_ m ax [ s i t u a t i o n . o r d i n a l ( ) ]∗max [ i ] [ j ] + b e t a _ a v g [ s i t u a t i o n . o r d i n a l ( ) ]∗ avg [ i ] [ j ] + b e t a _ e x p l [ s i t u a t i o n . o r d i n a l ( ) ]∗ e x p l o s i o n [ i ] [ j];i f ( ( L [ i ] [ j ] < min ) &&(!bad [ i ] [ j ] ) ) { / / п р о в ер ка убывания з н а ч е н и я и е г о допустимостиmin = L [ i ] [ j ] ; / / з н а ч е н и е промежуточного минимума функионалаi m i n = i ; / / аргумент промежуточного минимума функционалаj m i n = j ; / / аргумент промежуточного минимума функционала}}}i f ( i m i n >=0) { / / п р о в ер ка достижимости минимального з н а ч е н и я} else {MessageBox . WarningBox ( I n t e g e r . t o S t r i n g ( i m i n ) , "L н ет з н ачен и й " ) ;}530535540545}public Result newDirection ( ) {m i n i m i z e ( c o o r d i n a t e ) ; / / з а п у с к расчета минимизации функционалаr e t u r n new R e s u l t ( d_new [ i m i n ] , v_new [ j m i n ] ) ;550}/ ∗∗∗ Это ч и сл о и с п о л ь з у е т с я при со хр а н ен и и состояния модели<br >∗ Его р еко м ен дует ся изменить в с л у ч а е и зм ен ен и я к л а с с а∗/p r i v a t e s t a t i c f i n a l l o n g s e r i a l V e r s i o n U I D = 1L ;555}294Приложение ЗКласс точек пространстваЗ.1Листинг кода класса точек пространстваp u b l i c c l a s s MyPoint i m p l e m e n t s S e r i a l i z a b l e {5p r i v a t e d o u b l e x ; / / x−координата точкиp r i v a t e d o u b l e y ; / / y−координата точкиp u b l i c MyPoint ( ) { / / конструктор по умолчаниюt h i s (0 , 0) ;}10p u b l i c MyPoint ( d o u b l e x , d o u b l e y ) { / / конструкторthis .x = x;this .y = y;}15p u b l i c d o u b l e g et X ( ) { / / в о зв р а щ ен и е x−координаты точкиreturn x ;}2025p u b l i c v o i d s e t X ( d o u b l e x ) { / / установка x−координаты точкиthis .x = x;}p u b l i c d o u b l e g et Y ( ) { / / в о зв р а щ ен и е y−координаты точкиreturn y ;}30p u b l i c v o i d s e t Y ( d o u b l e y ) { / / установка y−координаты точкиthis .y = y;}35@ O v er r i d ep u b l i c b o o l e a n e q u a l s ( O b j e c t o ) { / / п е р е о п р е д е л е н и е метода e q u a l s ( )i f ( t h i s == o ) r e t u r n t r u e ;i f ( ! ( o i n s t a n c e o f MyPoint ) ) r e t u r n f a l s e ;MyPoint p o i n t = ( MyPoint ) o ;i f ( D o u b l e .
co m p ar e ( p o i n t . x , t h i s . x ) ! = 0 ) r e t u r n f a l s e ;i f ( D o u b l e . co m p ar e ( p o i n t . y , t h i s . y ) ! = 0 ) r e t u r n f a l s e ;40return true ;}4550@ O v er r i d ep u b l i c i n t h ash Co d e ( ) { / / п е р е о п р е д е л е н и е метода hashCode ( )int result ;l o n g temp ;temp = x ! = + 0 . 0 d ? D o u b l e . d o u b l e T o L o n g B i t s ( t h i s . x ) : 0L ;r e s u l t = ( i n t ) ( temp ^ ( temp >>> 3 2 ) ) ;temp = y ! = + 0 . 0 d ? D o u b l e . d o u b l e T o L o n g B i t s ( t h i s . y ) : 0L ;r e s u l t = 31 ∗ r e s u l t + ( i n t ) ( temp ^ ( temp >>> 3 2 ) ) ;return result ;}55@ O v er r i d ep u b l i c S t r i n g t o S t r i n g ( ) { / / п е р е о п р е д е л е н и е метода t o S t r i n g ( )r e t u r n " ( " +D o u b l e .
t o S t r i n g ( t h i s . g et X ( ) ) + " , " + D o u b l e . t o S t r i n g ( t h i s . g et Y ( ) ) + " ) " ;}60p r i v a t e s t a t i c d o u b l e a r e a ( MyPoint a , MyPoint b , MyPoint c ) { / / вспомогательный метод дл я i n t e r s e c t ( )r e t u r n ( b . g et X ( )−a . g et X ( ) ) ∗( c .
g et Y ( )−a . g et Y ( ) )−(b . g et Y ( )−a . g et Y ( ) ) ∗( c . g et X ( )−a . g et X ( ) ) ;}65p r i v a t e s t a t i c b o o l e a n b o u n d i n g Bo x ( d o u b l e a , d o u b l e b , d o u b l e c , d o u b l e d ) { / / вспомогательный метод дл я i n t e r s e c t ( )295double k ;i f ( a >b ) {k = a;a = b;b = k;}i f ( c >d ) {k = c;c = d;d = k;}r e t u r n ( max ( a , c ) <=min ( b , d ) ) ;7075}80p u b l i c s t a t i c b o o l e a n i n t e r s e c t ( MyPoint a , MyPoint b , MyPoint c , MyPoint d ) { / / п р о в ер ка о т р езко в ( a , b ) и ( c , d ) на п е р е с е ч е н и еr e t u r n ( b o u n d i n g Bo x ( a .