Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторный практикум

.pdf
Скачиваний:
173
Добавлен:
18.03.2015
Размер:
18.97 Mб
Скачать

Раздел V. Методы разработки технологических инноваций

2. Вводим в командное окно системы Matlab (рис. 11) после значка «>>» матрицу параметров (назовем ее F) различных вариантов выполнения технологической операции согласно табл. 1

F = [700 6.1 0.3;780 5.3 0.12;900 8.2 0.22];

и нажимаем на клавиатуре клавишу Enter.

Примечание: Ввод данной строки может осуществляться либо с клавиатуры, либо с помощью команд Копировать-Вставить, для этого скопируем строку, выделив ее левой кнопкой «мыши», далее правой кнопкой «мыши» щелкаем Копировать и в командном окне Matlab – правой кнопкой «мыши» по команде Вставить переносим эту строчку в командное окно системы Matlab и нажимаем клавишу Enter на клавиатуре.

3. Для формирования входящих значений обучающей выборки (назовем ее V) нейронной сети Элмана для работы с каждым вариантом технологической операции введем в командное окно MATLAB после значка «>>» (рис. 11) следующие 3 строки, соответствующие строкам матрицы F:

V1 = [F(1,1) F(1,2) F(1,3)];

V2 = [F(2,1) F(2,2) F(2,3)];

V3 = [F(3,1) F(3,2) F(3,3)];

и нажимаем на клавиатуре клавишу Enter.

4. Далее необходимо установить весовые коэффициенты, названные в формулах 1–3 теоретической части:

p3 – коэффициент, характеризующий риск (принимаем рав-

ным 0.37);

p1 и p2 – коэффициенты, характеризующие соответственно приоритетность критериев затрат и трудоёмкости, которые в данном исследовании считаются равнозначимыми с точки зрения приоритетов и равны 0,35.

Вкомандном окне системы Matlab после значка «>>»названные условия будет записано следующим образом (рис. 12):

p1 = 0.35;

p2 = 0.35;

p3 = 0.3;

и нажимаем на клавиатуре клавишу Enter.

7 Коссов В. В., Лившиц В. Н., Шахназаров А. Г. Методические рекомендации по оценке эффективности инвестиционных проектов. М.: Экономика, 2001. 421 с.

441

Раздел V. Методы разработки технологических инноваций

Рис. 12. Ввод весовых коэффициентов в командном окне системы Matlab для дальнейшего выполнения свертки

Примечание: способы ввода строк в командное окно системы Matlab названы в примечании п. 2 методики выполнения задания.

5.Далее необходимо выполнить линейную (аддитивную) свертку (см. теоретическую часть лабораторного занятия), для этого каждую строку матрицы F приводим к безразмерному виду (полученные выражения назовем M1, M2 и М3) и для каждого полученного значения сформируем массив таких значений (одноуровневый массив), которые обозначим N, A и B соответственно.

Всвязи со сказанным введем в командное окно системы Matlab (рис.12) следующие строки после значка «>>»:

M1 = [p1*F(1,1)+p2*F(1,2)+p3*F(1,3)]; N = [M1 M1 M1];

M2 = [p1*F(2,1)+p2*F(2,2)+p3*F(2,3)]; A = [M2 M2 M2];

M3 = [p1*F(3,1)+p2*F(3,2)+p3*F(3,3)]; B = [M3 M3 M3];

и нажимаем на клавиатуре клавишу Enter, что позволяет получить записи, указанные на рис.13.

6.После сформированной таким образом входной выборки для оптимизации создадим нейронную сеть Элмана, для чего используем команду «newelm» (эти действия подробно рассмотрены в предыдущем лабораторном занятии 5.4).

Нейронная сеть создается для каждого массива, полученного по результатам линейной свертки: N, A и B, которые мы сформировали выше.

442

Раздел V. Методы разработки технологических инноваций

Создадим для анализируемых вариантов директивных технологий три трехслойных нейронных сети Элмана (содержащих в первом слое 10 нейронов, во втором слое – 4 и в третьем слое – 1 нейрон), со следующими функциями активации нейронов:

'tansig','compet','purelin' соответственно по каждому слою нейронной сети.

Синтаксис данных действий в командном окне Matlab выглядит следующим образом (рис. 13):

net1 = newelm([0 1],[10 4 1],{'tansig','compet','purelin'},'trainbr','learnwh','msereg'); net2 = newelm([0 1],[10 4 1],{'tansig','compet','purelin'},'trainbr','learnwh','msereg'); net3 = newelm([0 1],[10 4 1],{'tansig','compet','purelin'},'trainbr','learnwh','msereg');

и нажимаем на клавиатуре клавишу Enter.

Примечание: названные команды для создания нейронной сети Элмана должны быть записаны в командном окне Matlab либо одной строкой, либо методом копирования текста из описания лабораторного занятия.

Рис. 13. Ввод данных по созданию нейронной сети Элмана в командном окне Matlab

443

Раздел V. Методы разработки технологических инноваций

7. Для обучения 3-х нейронных сетей Элмана при выполнении данного лабораторного занятия необходимо:

1.задать количество итераций (циклов работы нейронной сети до окончания процесса обучения сети),

2.осуществить вывод графиков обучения нейронной сети Элмана через указанное ниже количество циклов, а также

3.произвести непосредственно обучение сети.

Для выполнения этих действий в качестве примера примем количество циклов (итераций) равное 200, вывод графика обучения нейронной сети (рис. 14) через каждые 25 циклов (итераций), и обучение сети осуществим на основании выборки (массивы V1, V2 и V3 на рис. 12) и данных свёртки массивов (N, A и B) на рис.13.

Рис. 14. Процесс обучения нейронных сетей Элмана

Синтаксис данных действий в командном окне MATLAB выглядит следующим образом (рис. 14):

net1.trainParam.epochs = 200; net1.trainParam.show = 25; net1 = train(net1,V1,N); net2.trainParam.epochs = 200;

444

Раздел V. Методы разработки технологических инноваций

net2.trainParam.show = 25; net2 = train(net2,V2,A); net3.trainParam.epochs = 200; net3.trainParam.show = 25; net3 = train(net3,V3,B);

и нажимаем на клавиатуре клавишу Enter.

Как видно из рисунка 14 нейронная сеть успешно обучена за

8 циклов (8 Epochs).

8. Далее произведем моделирование результатов работы нейронной сети Элмана по каждому варианту директивных технологий. Как известно из предыдущего лабораторного занятия для моделирования работы нейронной сети в системе Matlab используется команда «sim», поэтому введем далее в командное окно системы Matlab (рис. 15) следующие 3 строки, соответствующие трем созданным нейронным сетям Элмана, получившиеся в результате моделирования массивы назовем OUT1, OUT2 и OUT3:

OUT1 = sim(net1, [700 6.1 0.3]); OUT2 = sim(net2, [780 5.3 0.12]); OUT3 = sim(net3, [900 8.2 0.22]);

и нажимаем на клавиатуре клавишу Enter, что позволяет получить записи, указанные на рис.15.

9. Для вывода окончательного результата расчетов по выполнению линейной свёртки критериев оптимизации нейронной сетью Элмана необходимо найти по каждому из массивов, получившихся в процессе моделирования нейронных сетей Элмана – OUT1, OUT2, OUT3 – максимальные элементы, обозначим их E1, E2 и E3 соответственно. Для этого введем 3 строки, указанные на рис.15, в командное окно Matlab:

E1 = max(OUT1);

E2 = max(OUT2);

E3 = max(OUT3);

и нажимаем на клавиатуре клавишу Enter, что позволяет получить соответствующие записи.

10. Для определения итогового результата в рамках поставленной задачи оптимизации директивных технологических процессов необходимо сформировать матрицу входных данных безразмерных величин (назовем ее Z) трех вариантов выполнения директивных технологий. Для этого введем переменную K для нахож-

445

Раздел V. Методы разработки технологических инноваций

дения минимального значения матрицы входных данных безразмерных величин из массива Z, а также массив результатов многокритериальной оптимизации директивных технологических процессов G.

Для осуществления сказанного введем в командное окно Matlab (рис.15) строки:

Z = [E1 E2 E3]; K = min(Z);

G = [K K K];

инажимаем на клавиатуре клавишу Enter, что позволяет получить соответствующие записи.

11. Далее необходимо создать новую нейронную сеть Элмана для формирования и вывода на экран монитора оптимального варианта выполнения директивных технологий. Для этого вводим в

рабочее окно Matlab (рис.15) следующую строку (строки): net4 = newelm([0 1],[10 4 1],{'tansig','compet','purelin'},'trainbr','learnwh','msereg');

инажимаем на клавиатуре клавишу Enter.(Примечание: названная команда для создания нейронной сети Элмана должна быть записана в командном окне Matlab либо одной строкой, либо методом копирования текста из описания лабораторного занятия).

12. В начале для обучения созданной таким образом нейронной сети Элмана необходимо аналогичным образом вышеприведенным примерам (п. 7 методики выполнения лабораторного занятия) задать количество итераций (циклов), вывод графиков обучения нейронной сети Элмана через определенное количество циклов, а также произвести непосредственно обучение сети. По аналогии с вышесказанным примем:

задание количества циклов (итераций) – 200;

построение графика обучения нейронной сети через каждые 25 циклов работы сети и

обучение сети на основании новой обучающей выборки

(массив Z) и данных значения цели оптимизации (массив G). Синтаксис данных действий в командном окне Matlab выглядит следующим образом (рис. 15):

net4.trainParam.epochs = 200; net4.trainParam.show = 25;

446

Раздел V. Методы разработки технологических инноваций

net4 = train(net4,Z,G);

и нажимаем на клавиатуре клавишу Enter.

Рис. 15. Процесс обучения нейронной сети Элмана для задачи оптимизации директивных технологических процессов

Как видно из рисунка 15 нейронная сеть успешно обучилась за 6 циклов (6 Epochs).

13. Далее необходимо произвести моделирование нейронной сети Элмана на основе новой обучающей выборки (массив безразмерных величин трех вариантов выполнения директивных технологий – Z). Как известно для моделирования работы нейронной сети в системе MATLAB используется команда «sim». Введем в продолжении рис. 15 после значка «>>» в этих целях следующую строку в командное окно MATLAB для получения массива (назовем его OUT4):

OUT4 = sim(net4,Z);

и нажмем на клавиатуре клавишу Enter.

14. В заключении процедуры вывода результатов оптимизации введем переменную L, которая будет обозначать минимальный

447

Раздел V. Методы разработки технологических инноваций

элемент массива OUT4, который смоделирован выше. Для этого введем в рабочее окно Matlab строку:

L = min(OUT4);

и нажимаем на клавиатуре клавишу Enter.

15. Для вывода результата вычислений на экран воспользуемся операторами «if… else », а также командой вывода результатов расчетов на дисплей компьютера «disp».

Для этого вводим текст (рис. 16) после значка «>>» в рабочее окно системы Matlab:

if E1<=L;

disp('Вывод: оптимален 1-й вариант директивной технологии') else E1>L;

disp('Вывод: 1-й вариант директивной технологии не оптимален')

if E2<=L;

disp('Вывод: оптимален 2-й вариант директивной технологии') else E2>L;

disp('Вывод: 2-й вариант директивной технологии не оптимален')

if E3<=L;

disp('Вывод: оптимален 3-й вариант директивной технологии') else E3>L;

disp('Вывод: 3-й вариант директивной технологии не оптимален')

end

end

end

инажимаем на клавиатуре клавишу Enter.

Вданном случае (см. рис. 16) оптимальным вариантом принят директивный технологический процесс с применением операции аргоно-дуговой сварки.

448

Раздел V. Методы разработки технологических инноваций

Рис. 16. Вывод результата работы нейронной сети Элмана на дисплей компьютера

16.Занести полученные результаты, фрагменты программного кода, а также графики обучения нейронных сетей Элмана в отчет о выполнении лабораторного занятия.

Изменить параметры табл. 1 и проанализировать, как меняется результат решения задачи оптимизации (см. пункт 2 методики выполнения лабораторного занятия, следующие пункты 3-14 остаются неизменными).

17.Самостоятельно выполнить третью часть задания лабораторного занятия в системе PSN по оптимизации директивных технологических процессов (запуск и работа с программным продуктом осуществляется с диска).

Для этого необходимо при запуске с диска найти значок и нажать левой кнопкой «мыши» (двойной щелчок). В открывшимся окне программного продукта (рис. 5) в левой части окна ввести данные с клавиатуры табл. 1 (см. задание лабораторного занятия) либо по всем операциям разрабатываемого технологического процесса, либо только по вариантам одной принципиально важной для создания директивной технологии операции ( в данном случае – это варианты операции: аргонодуговой сварки, пайки и электронно-лучевой сварки). После этого в правой части окна нажать левой кнопкой «мыши» последовательно на кнопки «Ввод

449

Раздел V. Методы разработки технологических инноваций

данных», «Расчет показателей», «Создание нейросети», «Обучение сети Элмана», «Моделирование сети» и «Результат». В левой части окна посмотреть на итог и сравнить его с результатом, полученным в ходе выполнения полных процедур системы Matlab лабораторного занятия с помощью командного окна.

Рекомендуется также воспользоваться кнопкой интерфейса программного продукта PSN для вариации параметров, определяющих технический уровень изделия (в данном случае – это критерий максимальной тяги газотурбинного двигателя), которые представлены в виде 3 лингвистических переменных, учитывающих влияние новой (директивной) технологии на улучшение главных параметров технического уровня изделия (см. теоретическую часть лабораторного занятия).

Проанализировать, как названный критерий карты технического уровня и качества изделия (максимальной тяги) влияет на результат оптимизации, полученный нейронной сетью Элмана.

По аналогии с предыдущим пунктом произвести оценку затрат времени выполнения работы.

18. Оформить отчет о выполнении лабораторного занятия и представить его преподавателю.

5.Контрольные вопросы

1.Для каких целей предназначены директивные технологические процессы (комплекты директивной технологической документации по ЕСТД)?

2.Каким образом по условиям применения методов многокритериальной оптимизации производится приведение входных параметров к безразмерным величинам?

3.Каким образом осуществляют процесс обучения нейронной сети Элмана и за какое количество итераций (циклов) нейронную сеть можно обучить в ходе выполнения данного лабораторного занятия?

4.Какой вариант выполнения директивной технологии оказался оптимальным и по каким критериям?

6.Требования к отчету

450