Источники код имитационной модели
Защиту __init __ (я, p0):
self.CORR = 3:06 * 1e7 #set к mean_deg (Municip)
self.COUNTIES = 294,0
self.DAIRIES = 80
self.MUNICIPS = 12223,0
self.municip_xy = само .__ municip_xy ()
self.dairy_xy = само .__ dairy_xy ()
self.county_xy = самостоятельно .__ county_xy ()
county_graph = само .__ county_graph ()
dairy_graph = само .__ dairy_graph (р0)
municip_graph = само .__ municip_graph ()
самостоятельно .__ write_density (р0, dairy_graph)
self.milknet = само .__ milknet (county_graph, dairy_graph, municip_graph)
self.ranges = самостоятельно .__ диапазоны ()
Защиту county_vir (самостоятельно):
Vir = [(п, Len (г) /self.MUNICIPS) для N, R в self.ranges.iteritems ()]
Возвращение ДИКТ (ВИР)
Защиту county_distances (самостоятельно):
г = dict.fromkeys (self.ranges)
для и, колеблется в self.ranges.iteritems ():
расстояния = [само .__ DIST (self.county_xy [и], self.municip_xy [v]) для V в диапазонах]
д [и] = INT (np.nan_to_num (np.median (расстояния)))
возвращение d
Защиту municip_vul (самостоятельно):
г = dict.fromkeys (self.municip_xy, 0)
для диапазонов в self.ranges.itervalues ():
для г в диапазонах:
д [г] + = 1
d = [(K, V / self.COUNTIES) для K, V (в d.iteritems)]
Возвращение ДИКТ (д)
Page 104 |
Глава 5.4
Приложение: Депозит исходного кода
Защиту municip_degree (самостоятельно):
= Градусов self.milknet.degree ()
градусы = [d для п, д в degrees.iteritems (), если сам .__ is_municip (п)]
вернуть np.mean (в градусах), np.median (в градусах), мин (в градусах), не более (в градусах)
Защиту dairy_degree (самостоятельно):
outdegrees = self.milknet.out_degree ()
indegrees = self.milknet.in_degree ()
градусов = [(N, indegrees [N], outdegrees [N]) для п в outdegrees.iterkeys (), если само .__ is_dairy (п)]
возвратные градусов
Список Защиты края (самостоятельно):
вернуться self.milknet.edges ()
Защиту __county_graph (самостоятельно):
ребра = [(U, V) для U, V в np.loadtxt ( "Данные / erzeuger_molkerei.txt" DTYPE = INT)]
D = nx.DiGraph ()
D.add_edges_from (ребра)
вернуться D
Защиту __dairy_graph (я, p0):
продать = само .__ dairy_sell ()
купить = само .__ dairy_buy ()
ху = self.dairy_xy
D = nx.DiGraph ()
D.add_nodes_from (xy.keys ())
для и (в D.nodes_iter):
для V (в D.nodes_iter):
р = р0 * продажа [и] * купить [v] * 1,0 / само .__ расстояние (х [и] х [v])
! Если и = г и RND () <= р:
D.add_edge (U, V)
вернуться D
Защиту __municip_graph (самостоятельно):
ЖИТ = само .__ municip_inhab ()
Колпачок = само .__ dairy_cap ()
D_xy = self.dairy_xy
Page 105 |
Глава 5.4
Приложение: Депозит исходного кода
m_xy = self.municip_xy
D = nx.DiGraph ()
для и в d_xy.iterkeys ():
для V в m_xy.iterkeys ():
* Р = self.CORR колпачок [и] * ЖИТ [v] * 1.0 / самостоятельно .__ расстояние (D_xy [и], m_xy [v])
если RND () <= р:
D.add_edge (U, V)
вернуться D
Защиту __milknet (я, county_graph, dairy_graph, municip_graph):
D = nx.DiGraph ()
D.add_edges_from (county_graph.edges ())
D.add_edges_from (dairy_graph.edges ())
D.add_edges_from (municip_graph.edges ())
вернуться D
Защиту __write_density (самость, P0, dairy_graph):
град dairy_graph.degree = (). значения ()
Файл = открыт ( "Результаты / p0_sum_mean_stdv_median_min_max.txt", "а")
file.write (ул (р0) + "
"+ Ул (сумма (в градусах)) +"
"+ Str (np.mean (в градусах)) +"
"+ Str (np.std (в градусах)) +"
"+ Str (np.median (в градусах)) +" "ул (мин (в градусах)) +", "+ ул (не более (в градусах)) +" \ п «) +
file.close ()
возвращения None
Защиту __ranges (самостоятельно):
л = [п для п в self.milknet.nodes (), если само .__ is_county (п)]
Диапазоны = [(е, само .__ диапазон (е)) при е в руде]
Возвращение ДИКТ (диапазоны)
Защиту __range (я, п):
узлы = nx.algorithms.traversal.depth_first_search.dfs_preorder_nodes (self.milknet, источник = п)
узлы = [п для п узлов, если само .__ is_municip (п)]
возвращаемые узлы
Защиту __dist (я, XY1, y2):
дх = х у1 [0] - х у2 [0]
Dy = y1 х [1] - у2 [1]
Page 106 |
Глава 5.4
Приложение: Депозит исходного кода
д = SQRT (дх * дх + ду * ду)
д = макс (10, д / 1000), в 1 км # В по меньшей мере, 10 км
возвращение d
Защиту __dairy_sell (самостоятельно):
ВДУ = [(Int (D), V) для D, V в np.loadtxt ( "данные / molk_an_ab.txt" usecols = [0,2])]
Возвращение ДИКТ (Т PLS)
Защиту __dairy_buy (самостоятельно):
ВДУ = [(Int (D), V) для D, V в np.loadtxt ( "данные / molk_an_ab.txt" usecols = [0,1])]
Возвращение ДИКТ (Т PLS)
Защиту __dairy_xy (самостоятельно):
ВДУ = [(г (х, у)) для д, х, у в np.loadtxt ( "Данные / molk_xy.txt" DTYPE = INT)]
Возвращение ДИКТ (Т PLS)
Защиту __county_xy (самостоятельно):
ВДУ = [(с, (х, у)) для с, х, у в np.loadtxt ( "Данные / kreis_xy.txt" DTYPE = INT)]
Возвращение ДИКТ (Т PLS)
Защиту __municip_xy (самостоятельно):
ВДУ = [(м, (х, у)) для т, х, у в np.loadtxt ( "/ gemeinde_xy.txt данные", DTYPE = INT)]
Возвращение ДИКТ (Т PLS)
Защиту __municip_inhab (самостоятельно):
Т PLS = [(интермедиат (м), вдыхание) при т, вдыхание в np.loadtxt ( "данные / gemeinde_einwohner.txt")]
Возвращение ДИКТ (Т PLS)
Защиту __dairy_cap (самостоятельно):
ВДУ = [(интермедиат (D), колпачок) для д, крышка в np.loadtxt ( "данные / molk_kap.txt")]
Возвращение ДИКТ (Т PLS)
Защиту __is_municip (самоощущение, п):
возвращать 10000 <п <= 160
Защиту __is_dairy (я, п):
вернуться п> = 100000
Защиту __is_county (я, п):
вернуться п <= 10000
Page 107 |
Глава 6
Дополнения
ДОБАВКИ
B. Pinior
1.2
Фридрих Лефлер институт, Федеральный научно-исследовательский институт по охране здоровья животных, Институт
Эпидемиология, Seestr. 55, 16868 Wusterhausen, Германия
Институт зоотехнии, группа управления Профилактическое здоровья, Боннский университет,
Katzenburgweg 7-9, 53115 Bonn, Германия
Page 108 |
Глава 6.1
Дополнения: Таблицы и рисунки
СПИСОК ТАБЛИЦ И РИСУНКОВ
B. Pinior
1.2
Фридрих Лефлер институт, Федеральный научно-исследовательский институт по охране здоровья животных, Институт
Эпидемиология, Seestr. 55, 16868 Wusterhausen, Германия
Институт зоотехнии, группа управления Профилактическое здоровья, Боннский университет,
Katzenburgweg 7-9, 53115 Bonn, Германия
Page 109 |
Глава 6.1
Дополнения: Таблицы и рисунки
Страницы
Таблицы
Таблица 1. Используемые данные с источниками
Фигуры
Рисунок 1. Обзор о классификации способов
математических моделей
Рисунок 2. Обзор о мерах для разработки модели
Рисунок 3. Структура диссертации
Рисунок 4. Базовым молоко торговой сети
Рисунок 5. Этапы жадного алгоритма (без между молочной торговли) 30
Рисунок 6а. Цепочка поставок молока
Рисунок 6b. Обзор об экономических факторах для выбора
партнеров в молочной промышленности
Рисунок 7. Визуализация молока торговых сетей в Германии 37
Рисунок 8. Частоты расстояний между узлами производителей молока
(Individual производитель молока) и молочные узлы, с которыми
договоры существовали в 2004 году
Рисунок 9. вирулентности узлов производителей молока без (карта 1)
и между молочной торговлей (Maps 2 и 3) в Германии 40
Рисунок 10. Географический диапазон (км) загрязнения молока
Рисунок 11. Уязвимость потребительских узлов без и
с между молочной торговлей в Германии
Рисунок 12. План Непредвиденного принимая между молочными торговлями
во внимание в связи с гипотетически
Зараженные потребительские узлы.
Рисунок 13. Резервный план без между молочной торговли
в связи с гипотетически
Зараженные потребительские узлы.
Рисунок 14. Влияние узлов производителей молока
Рисунок 15. Обзор о базах данных в молочной промышленности
Page 110 |
Глава 6.2
Дополнения: Квитирование
ПРИЗНАНИЕ
B. Pinior
1.2
Фридрих Лефлер институт, Федеральный научно-исследовательский институт по охране здоровья животных, Институт
Эпидемиология, Seestr. 55, 16868 Wusterhausen, Германия
Институт зоотехнии, группа управления Профилактическое здоровья, Боннский университет,
Katzenburgweg 7-9, 53115 Bonn, Германия
Page 111 |
Глава 6.2
Дополнения: Квитирование
ПРИЗНАНИЕ
Два года исследований Показалось быть закончено прежде, чем он едва начался. ОДНАКО, есть тихие
много воспоминаний, и теперь это так много времени, чтобы сказать спасибо.
Я хотел бы выразить свою искреннюю благодарность многим людям, не потому, что их помощь, это
Тезис никогда бы не была написана. Если это слишком долго, я заранее извиняюсь!
Во-первых, я хотел бы поблагодарить своих руководителей г-жа профессор доктор Петерсена и г-н профессор, доктор Selhorst
Поскольку оба дали мне возможность работать с учеными из многих исследований
поля и писать кандидатскую диссертацию.
Особенно много благодарность госпоже профессор, доктор Петерсен, потому что она, что лицо,
Введенный меня г-н профессор, доктор Selhorst и вел меня через оба дипломных и PhD
тезис.
ОДНАКО, моя самая большая благодарность профессор д-р Томас Селхорст. Без его настойчивости,
опыт и время я бы не был в состоянии включить в работу. Кроме того, его
поддержка, научный подход, конструктивная критика и мотивация, а также его всегда открыт
слух все выходит за рамки того, что обычно из пониматься как ответственности
супервизор. Я высоко ценю работу и жизненный опыт, который я мог бы собрать через вас
как человек. Спасибо Томас, за все !!!
Более того, это приятно смотреть назад любовь, особенно если вы работали вместе с тремя
физики. Ребята, он сделал все во всем весело работать с вами! Конкретная благодарность идет к
Марио Коншек, Питер Кольский и Хартмут Ленц. Вы были теми, которые имеют
профессионально поддерживал меня и давал полезные советы, а также дискуссии по моему
научные проблемы! Спасибо! Я хотел бы поблагодарить Марио Коншек для поглощения из
программирование программы моделирования и его активное сотрудничество в публикации. Я
поблагодарить Петра за его Кольский предложили решения (такие как: модели гравитации) и сделал я мог
всегда говорить с вами, а также благодаря Хартмут Ленца для своих исследовательских предложений. Я благодарю
Г-н профессор, доктор Conraths для коррекции публикаций. Более того, я благодарю Mrs.
Вайола Дамро и г-жа Киршнер Bierschenk для административной поддержки.
Эта работа, которая при финансовой поддержке Федерального министерства образования и научных исследований
(BMBF, Bonn) исследовательский грант 13N11208. В частности, я хотел бы выразить свою благодарность всем
Page 112 |
Глава 6.2
Дополнения: Квитирование
мои коллеги из всех партнеров в рамках SiLeBAT-проект за плодотворное обсуждение
и их научная работа. Я действительно любил работать со всеми вами. Более того, я благодарю
Министерство Государственный Баварское питания, сельского и лесного хозяйства (StMELF-HIT,
Мюнхен) и Федеральное бюро по сельскому хозяйству и продовольствию (BLE, Bonn) для обеспечения
данные. Я хотел бы поблагодарить г-жу д-ра Ульрике Аренс, г-н Рейнхард Вольтера и мисс Стефани
Goemann, Который дал мне понимание официальных баз данных.
В частности, я хотел бы принести благодарность Рональда Шредера, Детлеф Клосс, Stefanie
Слаттер, Мария Каспер, Тильман Вильке и Анна Шейфел Для их личной гигиены, помогая
меня в различных ситуациях и длинных телефонных разговоров. Все это мне очень помогло!
Главные лица, всегда приходят в конце: Тобиас, Лаура, Grazyna, Joachim, Ян,
Erika, Regina! Что я могу сказать - без вашей помощи, я бы никогда не пришел до сих пор! спасибо
за поддержку, а также ваш был в моем лице! В частности, самая большая благодарность
Tobi. Эй, что человек, который всегда заставлял меня так же, как мой человек пережил во время
время окончания PhD.
Спасибо! Спасибо! Dziękuję Bardzo!
Я хотел бы посвятить эту работу всем здесь указанным лицам.
Page 113 |
Глава 6.3
Дополнения: Список публикаций
СПИСОК ПУБЛИКАЦИЙ
B. Pinior
1.2
Фридрих Лефлер институт, Федеральный научно-исследовательский институт по охране здоровья животных, Институт
Эпидемиология, Seestr. 55, 16868 Wusterhausen, Германия
Институт зоотехнии, группа управления Профилактическое здоровья, Боннский университет,
Katzenburgweg 7-9, 53115 Bonn, Германия
Page 114 |
Глава 6.3
Дополнения: Список публикаций