Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Пример 6. Модель технического контроля изделий





Собранные телевизионные приемники после сборки проходят ис­пытания на станции технического контроля. Если в процессе контро­ля оказывается, что функционирование телевизора ненормально, его переправляют на участок наладки, после которой он вновь возвраща­ется на станцию контроля для повторной проверки. После одной или нескольких проверок телевизор попадает в цех упаковки. Описанная ситуация иллюстрируется схемой, приведенной на рис. 2.38.

На одном месте на любом из стеллажей может храниться один те­левизор, ожидающий контроля или наладки, соответственно. Телеви­зионные приемники попадают на станцию контроля каждые 5±2 мин. На станции работают Nk контролеров, каждому из них на проверку телевизора нужно 9±3 мин. Примерно 85 % телевизоров проходят проверку успешно и попадают в цех упаковки, остальные 15 % попа­дают на участок наладки, на котором работает один рабочий- налад­чик. Наладка занимает 30+10 мин.


134


Часть 2. Имитационное моделирование


Оптимизация на имитационных моделях


135


 


Контролеры Рис. 2.38

Пусть каждый запуск имитационной модели моделирует один ра­бочий день (8 ч = 480 мин.).

Сформулируем задание на оптимизацию.

Каждый контролер получает заработную плату независимо от вре­мени его полезной работы в течение рабочего дня. Поэтому админи­страция стремится к тому, чтобы коэффициент полезного действия (КПД) каждого контролера приближался к 1. КПД контролера оцени­вается как отношение полезного времени его работы, связанного с контролем телевизионных приемников, к продолжительности рабоче­го дня. Кроме того, администрация учитывает, что количество мест на стеллаже 1 (см. рис. 2.38) ограничено десятью. В этом смысле адми­нистрация интерпретирует оптимизацию системы контроля как опре­деление такого количества контролеров, при котором их КПД при­ближается к 1 при ограничении на объем стеллажа 1.

Структура модели иллюстрируется рис. 2.39.


Ниже приводится описание переменных модели.

 

Имя переменной Смысловое содержание Тип переменной Начальное значение
State Состояние наладчика: 0 - свободен, 1 - занят Integer  
Nk Количество контролеров на станции контроля Integer  
Nek Количество свободных контролеров Integer  
q Текущая длина очереди перед станцией контроля Integer  
Qjnax Максимальная длина очереди перед станцией контроля Integer  
Tsk Общее полезное время занятости контролеров Real  
KPD Коэффициент полезного действия контролера - отношение полезного времени к общему времени работы: KPD:=(Tsk/Nk)/480;    
clock системная переменная Real  
duration системная переменная Real  
objective системная переменная Real  
run системная переменная Integer  
seed системная переменная Integer  
tag системная переменная Integer  

Блок 1 (TV) создает тэги, каждый из которых имитирует телевизи­онный приемник, поступающий на станцию контроля.

Блок 2 (technical control) имитирует станцию контроля, на кото­рой работает Nk контролеров. Если все контролеры заняты, тэги-те­левизоры становятся в очередь перед данным блоком и ждут, пока хо­тя бы один контролер не освободится.

Блок 3 (rapairing) — блок наладки. Если наладчик занят, тэги-те­левизоры становятся в очередь перед данным блоком и ждут, когда он освободится. После наладки они отправляются на повторный конт­роль.

Блок 4 (wraping) — блок упаковки.


136


Часть 2. Имитационное моделирование


Оптимизация на имитационных моделях


137


 


           
   
 
 
   


objective:=Q_max+(l-KPD); haltQ

Следующее описание определяет содержимое основных полей блоков разветвителей и очередей модели.

Блок 1. (tv construction) Mean Time: 5; Standard Deviation: 3; Release Condition: 1; Beginning Effect: tag += 1;

Разветвитель 1.

Decision Type: Multiple Routing condition: technical control: 1; tv con­struction: 1;

ОчередЬ 2 (technical control queue)

Sorting Order: FIFO Entering Effect: q+=l; if q>Q_max then Q_max:=q; Departing Effect: q—=1;

Блок 2. (technical control)

Mean Time: 9; Standard Deviation: 6; Release Condition: Nck>0; (Вхождение в блок возможно, когда свободен хотя бы один конт­ролер.)

Beginning Effect: Nck-=1; Launch Effect: Tsk:=Tsk+duration;


Системная переменная duration определяет время, в течение кото­рого тэг будет находиться в блоке. Обычно системная переменная du­ration используется в поле Launch Effect. В данном примере эта пере­менная используется для определения общего полезного времени контролеров путем накопления интервалов времени, потраченных на контроль телевизионных приемников.

Ending Effect: Nck+=1;

Разветвитель 2.

Decision Type: Probabilistic Routing condition: repairing: 0,15; wraping:

0,85;

Очередь 3 (rapairing queue) Sorting Order: FIFO

Блок 3. (rapairing) Mean Time: 30; Standard Deviation: 20; Time Dist­ribution: Rectangular Release Condition: State==0; Begining Effect: Sta­te—I; Ending Effect: State:=0;

Блок 4. (wraping) Release Condition: 1;

Внесем в календарь событий операторы присваивания начальных _ значений переменным MS- модели, оператор определения перемен­ной objective и оператор остановки прогона (halt) по истечении 8 ра­бочих часов (480 мин.).


Рис. 2.40. Начальное содержимое календаря событий для модели технического

контроля изделий

Количество свободных контролеров Nek устанавливается равным общему количеству контролеров Nk (ситуация перед началом рабо­ты). Выполнение оператора присваивания (Nck:=Nk) планируется с небольшой задержкой (0.001) сразу после запуска модели (ниже пояс­няется необходимость такой задержки).

Функция objective вычисляется после определения KPD непосред­ственно перед завершением прогона. Структура этой функции ориен­тирована на поиск такого количества контролеров (Nk), которое обес­печивало бы, с одной стороны, минимальную длину очереди (Q_max), а с другой — эффективную работу контролеров (KPD, близкий к еди­нице). В структуре формулы: objective:=Q_max+(l—KPD) оба этих фактора достигаются при поиске такого значения Nk, при котором objective достигает минимума.

Определенная таким образом функция objective и будет опреде­лять целевую функцию оптимизации модели.

Заметьте, что в отличие от целевой ячейки электронной таблицы определенная здесь целевая функция оптимизации имитационной модели не имеет аналитической зависимости от варьируемой пере­менной Nk.

Запуск процесса оптимизации связан с выбором пункта Optimize из меню Micro Saint {Execute —> Optimize). Результатом этого выбора будет запуск приложения OptQuest и открытие главного окна OptQuest.

Определение оптимизационной задачи

Прежде всего необходимо создать новый файл с расширением ОРТ или открыть существующий файл, связанный с оптимизируемой имитационной моделью (подпункт New или Open пункта главного меню File, соответственно, рис. 2.41). В дальнейшем в таком файле будут храниться параметры оптимизации.

При создании нового файла, для того чтобы определить оптими­зационную задачу, необходимо:

1) выбрать изменяемые переменные из переменных имитацион­ной модели;


138


Часть 2. Имитационное моделирование


Оптимизация на имитационных моделях


139


 


Рис. 2.41. Главное окно OptQuest (исходное состояние)

2) указать — максимизировать или минимизировать целевую фун­
кцию модели;

3) если необходимо, ввести дополнительные ограничения для из­
меняемых переменных.

Выбор изменяемых переменных (Edit —> Variables) приведет к от­крытию окна рис. 2.42.



Двойной щелчок мыши в поле Select (рис. 2.42) изменяет статус переменной: Yes — переменная выбрана для изменения OptQuest, No — нет.

В поле Name отображаются имена переменных MS-модели. В по­лях Lower Bound и Upper Bound указываются соответственно возмож­ная нижняя и верхняя границы для соответствующей переменной. Для облегчения поиска можно указать предполагаемые значения из­меняемой переменной в колонке Suggested Value. Если предполагае­мые значения выходят за границы или не удовлетворяют ограничени­ям, то они игнорируются. Тип переменной (Integer/Real) переносится в таблицу рис. 2.42 из MS-модели автоматически.

Установка параметров оптимизации (Edit —> Settings) в окне рис. 2.41 связана с определением вида оптимизации (поиск максиму­ма или минимума целевой функции) и установкой количества прого­нов модели (обычно выбирается один). Если выбирается большее ко­личество запусков, то значение целевой функции усредняется по ко-, личеству запусков (см. рис. 2.48).

Ограничения (Edit —> Constraints) в окне рис. 2.41 устанавливают­ся только для входных переменных. OptQuest позволяет пользователю задавать произвольное число ограничений в виде линейной комбина­ции изменяемых переменных. Если предположить, что изменяемые переменные — это Xi (для i = 1,..., п), то любое ограничение может быть записано в следующей форме: al*Xl + а2*Х2 +... + ап*Хп # Ь, где ai и b — константы, а знак '#' заменяет одно из следующих отно­шений: '=', ':=', '= =' (отношения равенства) или '<=', '<','>=','>' (от­ношения порядка).

В нашем примере одна изменяемая переменная — число контро­леров Nk. Мы задаем для нее единственное ограничение: Nk <= 6. Для этого случая окно ограничений будет выглядеть следующим обра­зом (рис. 2.43).


           
 
 
   
     
 


Рис. 2.42.Таблица выбора изменяемых переменных

В этом окне представлен весь список переменных нашей имита­ционной модели. Из них мы должны выбрать только те переменные, которые для имитационной модели являются входными. Значения та­ких переменных не должны вычисляться или изменяться внутри MS-модели. Только OptQuest в процессе оптимизации может варьи­ровать значениями этих переменных, ориентируясь на достижение оптимального значения целевой функции. В нашей)модели такой входной переменной является только одна — это переменная Nk, остальные зависят от нее (прямо или косвенно).


           
   
 
   
 

140
141

Оптимизация на имитационных моделях

Часть 2. Имитационное моделирование Установка дополнительных опций

Меню Опций (Options) рис. 2.41 позволяет установить время оп­тимизации и выбрать вариант алгоритма оптимизации.


Опция «Ускоритель нейронных сетей» (Neural Network Accelera­tor) разработана, чтобы улучшить мощность поиска OptQuest'a. При использовании нейронной сети OptQuest собирает информацию о по­лучаемых значениях целевой функции при различных значениях из­меняемых переменных. Затем эта информация используется для обу­чения нейронной сети в процессе поиска. OptQuest автоматически определяет как много данных требуется и как часто нужно повторять обучение, основываясь на том, что время проведения имитации моде­ли и время оптимизации ограничено пользователем.

В меню опции «Ускоритель нейронных сетей» 4 пункта:

1. No Neural Network (Без нейронной сети). Этот механизм поиска
на каждом шаге оптимизации (Simulation) формирует новые значения
входных переменных и отправляет их в имитационную MS-модель
для формирования оценки целевой функции objective. Использование
этого механизма предпочтительно для имитационных моделей с ма­
лым количеством изменяемых переменных.

2. Conservative Neural Network (Консервативная нейронная сеть).
Этот алгоритм поиска связан с использованием консервативного пра­
вила для того, чтобы отбрасывать потенциально плохие решения. Ис-
спользование этого пункта целесообразно, если на имитацию отведе­
но относительно мало времени.

3. Aggressive Neural Network (Агрессивная нейронная сеть). Эта опция
предпочтительна для большинства моделей и указана по умолчанию.

4. Extremely Aggressive Neural Network (Экстремально агрессивная
нейронная сеть). Выбор этого пункта сильно ускоряет поиск, увели­
чивая риск потерять некоторые хорошие решения. Рекомендуется для
моделей, имитация которых очень продолжительна и в которых до­
статочно приближенного решения.







Date: 2015-07-23; view: 404; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.018 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию