Использование искусственных нейронных сетей для решения задач интерполяции 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование искусственных нейронных сетей для решения задач интерполяции



 

Цель работы: Изучить работу ИНС – искусственных нейронных сетей – с целью формирования интерполяционной модели.

Задачи:

1. Получить задание в виде программы, генерирующей данные (ПР 10).

2. Провести табуляцию данных по обоим факторам.

3. Составить ИНС и обучить её на обучающей выборке (на табулированных данных).

4. Проверить наличие переобучения.

5. Проверить эффективность интерполяционной модели на промежуточных точках и возможность экстраполяции на точках за пределами диапазона.

Краткие теоретические сведения.

    Интерполяционная модель предполагает, что значения точек заданы точно, но необходимо получить как можно более гладкую функцию, позволяющую рассчитать значения между точками.

    ИНС позволяет получить «скрытую» интерполяционную модель, позволяющую генерировать промежуточные данные без математического выражения.

Ход работы

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

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

Затем перебирают все значения первого фактора последовательно, задавая второй фактор на минимальном уровне. Потом меняют значение второго фактора на следующее значение по списку, перебирая все варианты для первого фактора. Процесс повторяют. Таким образом, получится не менее 25 точек (фактически – ПФЭ 52), для каждой из которых с помощью программы-имитационной модели (варианта задания) рассчитывают значение функции отклика. Далее необходимо провести рандомизацию. Полученные данные масштабируют в диапазон от 0 до 1, затем их вводят в программу для ИНС. ИНС подвергают обучению (аналогично предыдущей работе), экспериментируя с числом слоёв и количеством нейронов.

Для проверки эффективности интерполяции создают дополнительную интерполяционную выборку из значений, находящихся между заданными уровнями варьирования (5-6 точек). Эту выборку также необходимо масштабировать, но не использовать для обучения или автоматического контроля ИНС, а просто рассчитать выходы для неё и сравнить с полученными в имитационной модели (задании).

Аналогично проводят оценку эффективности экстраполяции, однако точки берут за пределами выбранного диапазона (но в пределах исходного диапазона варьирования).

Далее делают вывод об эффективности и корректности интерполяции с помощью ИНС и возможностью экстраполяции.

Содержание отчёта

Общие требования к содержанию отчёта приведены в рамках практической работы № 1.В данной работе в разделе «ход работы» необходимо представить исходную таблицу данных и результаты проведения интерполяции с использованием ИНС. В качестве вывода следует привести наиболее эффективную сеть и метод обучения, также указать наличие/отсутствие переобучения в каждом из методов.При использовании последней версии программы ИНС следует привести скриншоты структуры получившихся ИНС.

Вопросы для самоконтроля

1. Что такое искусственные нейронные сети?

2. Что такое функция состояния искусственного нейрона? От чего зависит её значение?

3. Что такое функция активации искусственного нейрона?

4. Что такое персептрон, какова его структура?

5. В чём заключается процесс обучения ИНС?

6. Что такое переобучение ИНС? Как его предотвратить или минимизировать?

 

 


 

Список рекомендуемой литературы

1. Плаксин, Ю. М. Процессы и аппараты пищевых производств: учебник для вузов / Ю. М. Плаксин, Н. Н. Малахов, В. А. Ларин. - 2-е изд., перераб. и доп. - Москва: КолосС, 2008. - 758, [1] с.: ил. (библиотека МГТУ, 25 экз.)

2. Солодов, В. С. Планирование эксперимента в исследовании технологических процессов: учеб.пособие для вузов / В. С. Солодов; Федер. агентство по рыболовству, ФГБОУ ВПО "Мурман. гос. техн. ун-т". - Мурманск: Изд-во МГТУ, 2012. - 203 с.: ил. (библиотека МГТУ, 25 экз.)

3. Глазунов, Ю. Т. Моделирование процессов пищевых производств: учеб. пособие для вузов / Ю. Т. Глазунов, А. М. Ершов, М. А. Ершов; Центр. учеб.-метод. каб. Гос. ком. РФ по рыболовству. - Москва: Колос, 2008. - 358 с.: ил. (библиотека МГТУ, 157 экз.)

Список ИСПОЛЬЗОВАННОЙ литературы

1. Плаксин, Ю. М. Процессы и аппараты пищевых производств: учебник для вузов / Ю. М. Плаксин, Н. Н. Малахов, В. А. Ларин. - 2-е изд., перераб. и доп. - Москва: КолосС, 2008. - 758, [1] с.: ил.

2. Разработка новых видов пищевых продуктов [Электронный ресурс]: метод.указания к выполнению практ. работы "Изучение методов оптимизации технологических режимов основных технологических операций на этапе изготовления пищевой продукции" для студентов направлений подгот. 100800.62 "Товароведение", 260200.62 "Продукты питания животного происхождения" и специальности 080401.65 "Товароведение и экспертиза товаров в сфере таможенной деятельности" / Федер. агентство по рыболовству, Мурман. гос. техн. ун-т, Каф. технологий пищевых пр-в; сост. Ю. В. Шокина. - Мурманск: Изд-во МГТУ, 2014

3. Глазунов, Ю. Т. Моделирование процессов пищевых производств: учеб. пособие для вузов / Ю. Т. Глазунов, А. М. Ершов, М. А. Ершов; Центр. учеб.-метод. каб. Гос. ком. РФ по рыболовству. - Москва: Колос, 2008. - 358 с.: ил. - (Учебник). - Библиогр.: с. 341-343. - ISBN 978-5-10-004018-7: 293-00.

4. Алексеев, Г. В. Математические методы в пищевой инженерии: Учебное пособие / Г.В. Алексеев, Б.А. Вороненко, Н.И. Лукин. – СПб.: Издательство «Лань», 2012. – 176 с.: ил.

5. Стефановский Н.В. и др. Процессы и аппараты рыбообрабатывающих производств. - М.; Легкая и пищевая промышленность, 1984-236 стр.

6. Адлер, Ю. П. Планирование эксперимента при поиске оптимальных условий / Ю.П.Адлер [и др.]. Изд. 2-е, перераб. и доп. - М.: Наука, 1976. – 280 с.

7. Тархов, Д. А. Нейронные сети как средство математического моделирования / Д. А. Тархов. - Москва: Радиотехника, 2006. - 48 с.

8. Солодов, В. С. Планирование эксперимента в исследовании технологических процессов: учеб.пособие для вузов / В. С. Солодов; Федер. агентство по рыболовству, ФГБОУ ВПО "Мурман. гос. техн. ун-т". - Мурманск: Изд-во МГТУ, 2012. - 203 с.: ил. (библиотека МГТУ, 25 экз.)



ПРИЛОЖЕНИЕ А

Таблица значений критерия Фишера F

Доверительная вероятность p =0,9; вероятность «нуль-гипотезы» α = 0,1

 

Число степеней свободы числителя

    1 2 3 4 5 6 7 8 9 10 11 12 15 20 24 30 40 60 120

Число степеней свободы знаменателя

1 39,86 49,5 53,59 55,83 57,24 58,2 58,91 59,44 59,86 60,19 60,5 60,71 61,22 61,74 62 62,26 62,53 62,79 63,06
2 8,53 9 9,16 9,24 9,29 9,33 9,35 9,37 9,38 9,39 9,4 9,41 9,42 9,44 9,45 9,46 9,47 9,47 9,48
3 5,54 5,46 5,39 5,34 5,31 5,28 5,27 5,25 5,24 5,23 5,22 5,22 5,2 5,18 5,18 5,17 5,16 5,15 5,14
4 4,54 4,32 4,19 4,11 4,05 4,01 3,98 3,95 3,94 3,92 3,91 3,9 3,87 3,84 3,83 3,82 3,8 3,79 3,78
5 4,06 3,78 3,62 3,52 3,45 3,4 3,37 3,34 3,32 3,3 3,28 3,27 3,24 3,21 3,19 3,17 3,16 3,14 3,12
6 3,78 3,46 3,29 3,18 3,11 3,05 3,01 2,98 2,96 2,94 2,92 2,9 2,87 2,84 2,82 2,8 2,78 2,76 2,74
7 3,59 3,26 3,07 2,96 2,88 2,83 2,78 2,75 2,72 2,7 2,68 2,67 2,63 2,59 2,58 2,56 2,54 2,51 2,49
8 3,46 3,11 2,92 2,81 2,73 2,67 2,62 2,59 2,56 2,54 2,52 2,5 2,46 2,42 2,4 2,38 2,36 2,34 2,32
9 3,36 3,01 2,81 2,69 2,61 2,55 2,51 2,47 2,44 2,42 2,4 2,38 2,34 2,3 2,28 2,25 2,23 2,21 2,18
10 3,29 2,92 2,73 2,61 2,52 2,46 2,41 2,38 2,35 2,32 2,3 2,28 2,24 2,2 2,18 2,16 2,13 2,11 2,08
12 3,18 2,81 2,61 2,48 2,39 2,33 2,28 2,24 2,21 2,19 2,17 2,15 2,1 2,06 2,04 2,01 1,99 1,96 1,93
14 3,1 2,73 2,52 2,39 2,31 2,24 2,19 2,15 2,12 2,1 2,08 2,05 2,01 1,96 1,94 1,91 1,89 1,86 1,83
15 3,07 2,7 2,49 2,36 2,27 2,21 2,16 2,12 2,09 2,06 2,04 2,02 1,97 1,92 1,9 1,87 1,85 1,82 1,79
18 3,01 2,62 2,42 2,29 2,2 2,13 2,08 2,04 2 1,98 1,96 1,93 1,89 1,84 1,81 1,78 1,75 1,72 1,69
20 2,97 2,59 2,38 2,25 2,16 2,09 2,04 2 1,96 1,94 1,92 1,89 1,84 1,79 1,77 1,74 1,71 1,68 1,64
22 2,95 2,56 2,35 2,22 2,13 2,06 2,01 1,97 1,93 1,9 1,88 1,86 1,81 1,76 1,73 1,7 1,67 1,64 1,6
24 2,93 2,54 2,33 2,19 2,1 2,04 1,98 1,94 1,91 1,88 1,85 1,83 1,78 1,73 1,7 1,67 1,64 1,61 1,57
26 2,91 2,52 2,31 2,17 2,08 2,01 1,96 1,92 1,88 1,86 1,84 1,81 1,76 1,71 1,68 1,65 1,61 1,58 1,54
28 2,89 2,5 2,29 2,16 2,06 2 1,94 1,9 1,87 1,84 1,81 1,79 1,74 1,69 1,66 1,63 1,59 1,56 1,52
30 2,88 2,49 2,28 2,14 2,05 1,98 1,93 1,88 1,85 1,82 1,79 1,77 1,72 1,67 1,64 1,61 1,57 1,54 1,5
40 2,84 2,44 2,23 2,09 2 1,93 1,87 1,83 1,79 1,76 1,73 1,71 1,66 1,61 1,57 1,54 1,51 1,47 1,42
60 2,79 2,39 2,18 2,04 1,95 1,87 1,82 1,77 1,74 1,71 1,68 1,66 1,6 1,54 1,51 1,48 1,44 1,4 1,35

Доверительная вероятность p =0,95; вероятность «нуль-гипотезы» α = 0,05

 

 

Число степеней свободы числителя

    1 2 3 4 5 6 7 8 9 10 11 12 15 20 24 30 40 60 120

Число степеней свободы знаменателя

1 161 200 216 225 230 234 237 239 271 242 243 244 246 248 249 250 251 252 253
2 18,5 19 19,2 19,2 19,3 19,3 19,4 19,4 19,4 19,4 19,4 19,4 19,4 19,4 19,5 19,5 19,5 19,5 19,5
3 10,1 9,55 9,28 9,12 9,01 8,94 8,89 8,85 8,81 8,79 8,76 8,74 8,7 8,66 8,64 8,62 8,59 8,57 8,55
4 7,71 6,94 6,59 6,39 6,26 6,16 6,09 6,04 6 5,96 5,94 5,91 5,86 5,8 5,77 5,75 5,72 5,69 5,66
5 6,61 5,79 5,41 5,19 5,05 4,95 4,88 4,82 4,77 4,74 4,71 4,68 4,62 4,56 4,53 4,5 4,46 4,43 4,4
6 5,99 5,14 4,76 4,53 4,39 4,28 4,21 4,15 4,1 4,06 4,03 4 3,94 3,87 3,84 3,81 3,77 3,74 3,7
7 5,59 4,74 4,35 4,12 3,97 3,87 3,79 3,73 3,68 3,64 3,6 3,57 3,51 3,44 3,41 3,38 3,34 3,3 3,27
8 5,32 4,46 4,07 3,84 3,69 3,58 3,5 3,44 3,39 3,35 3,31 3,28 3,22 3,15 3,12 3,08 3,04 3,01 2,97
9 5,12 4,26 3,86 3,63 3,48 3,37 3,29 3,23 3,18 3,14 3,1 3,07 3,01 2,94 2,9 2,86 2,83 2,79 2,75
10 4,96 4,1 3,71 3,48 3,33 3,22 3,14 3,07 3,02 2,98 2,94 2,91 2,85 2,77 2,74 2,7 2,66 2,62 2,58
12 4,75 3,89 3,49 3,26 3,11 3 2,91 2,85 2,8 2,75 2,72 2,69 2,62 2,54 2,51 2,47 2,43 2,38 2,34
14 4,6 3,74 3,34 3,11 2,96 2,85 2,76 2,7 2,65 2,6 2,57 2,53 2,46 2,39 2,35 2,31 2,27 2,22 2,18
16 4,49 3,63 3,24 3,01 2,85 2,74 2,66 2,59 2,54 2,49 2,46 2,42 2,35 2,28 2,24 2,19 2,15 2,11 2,06
18 4,41 3,55 3,16 2,93 2,77 2,66 2,58 2,51 2,46 2,41 2,37 2,34 2,27 2,19 2,15 2,11 2,06 2,02 1,97
20 4,35 3,49 3,1 2,87 2,71 2,6 2,51 2,45 2,39 2,35 2,31 2,28 2,2 2,12 2,08 2,04 1,99 1,95 1,9
22 4,3 3,44 3,05 2,82 2,66 2,55 2,46 2,4 2,34 2,3 2,26 2,23 2,15 2,07 2,03 1,98 1,94 1,89 1,84
24 4,26 3,4 3,01 2,78 2,62 2,51 2,42 2,36 2,3 2,25 2,21 2,18 2,11 2,03 1,98 1,94 1,89 1,84 1,79
26 4,23 3,37 2,98 2,74 2,59 2,47 2,39 2,32 2,27 2,22 2,18 2,15 2,07 1,99 1,95 1,9 1,85 1,8 1,75
28 4,2 3,34 2,95 2,71 2,56 2,45 2,36 2,29 2,24 2,19 2,15 2,12 2,04 1,96 1,91 1,87 1,82 1,77 1,71
30 4,17 3,32 2,92 2,69 2,53 2,42 2,33 2,27 2,21 2,16 2,13 2,09 2,01 1,93 1,89 1,84 1,79 1,74 1,68
40 4,08 3,23 2,84 2,61 2,45 2,34 2,25 2,18 2,12 2,08 2,04 2 1,92 1,84 1,79 1,74 1,69 1,64 1,58
60 4 3,15 2,76 2,53 2,37 2,25 2,17 2,1 2,04 1,99 1,95 1,92 1,84 1,75 1,7 1,65 1,59 1,53 1,47

 


ПРИЛОЖЕНИЕ Б

Значения распределения Пирсона (χ2)

Число степеней свободы

Доверительная вероятность p

0,005

0,010

0,025

0,050

0,100

0,250

0,500

0,750

0,900

0,950

0,975

0,990

0,995

Уровень значимости α

0,995 0,990 0,975 0,950 0,900 0,750 0,500 0,250 0,100 0,050 0,025 0,010 0,005
1 0,000 0,000 0,001 0,004 0,016 0,102 0,455 1,323 2,706 3,841 5,024 6,635 7,879
2 0,010 0,020 0,051 0,103 0,211 0,575 1,386 2,773 4,605 5,991 7,378 9,210 10,597
3 0,072 0,115 0,216 0,352 0,584 1,213 2,366 4,108 6,251 7,815 9,348 11,345 12,838
4 0,207 0,297 0,484 0,711 1,064 1,923 3,357 5,385 7,779 9,488 11,143 13,277 14,860
5 0,412 0,554 0,831 1,145 1,610 2,675 4,351 6,626 9,236 11,071 12,833 15,086 16,750
6 0,676 0,872 1,237 1,635 2,204 3,455 5,348 7,841 10,645 12,592 14,449 16,812 18,548
7 0,989 1,239 1,690 2,167 2,833 4,255 6,346 9,037 12,017 14,067 16,013 18,475 20,278
8 1,344 1,647 2,180 2,733 3,490 5,071 7,344 10,219 13,362 15,507 17,535 20,090 21,955
9 1,735 2,088 2,700 3,325 4,168 5,899 8,343 11,389 14,684 16,919 19,023 21,666 23,589
10 2,156 2,558 3,247 3,940 4,865 6,737 9,342 12,549 15,987 18,307 20,483 23,209 25,188
11 2,603 3,053 3,816 4,575 5,578 7,584 10,341 13,701 17,275 19,675 21,920 24,725 26,757
12 3,074 3,571 4,404 5,226 6,304 8,438 11,340 14,845 18,549 21,026 23,337 26,217 28,300
13 3,565 4,107 5,009 5,892 7,042 9,299 12,340 15,984 19,812 22,362 24,736 27,688 29,819
14 4,075 4,660 5,629 6,571 7,790 10,165 13,339 17,117 21,064 23,685 26,119 29,141 31,319
15 4,601 5,229 6,262 7,261 8,547 11,037 14,339 18,245 22,307 24,996 27,488 30,578 32,801
16 5,142 5,812 6,908 7,962 9,312 11,912 15,339 19,369 23,542 26,296 28,845 32,000 34,267
17 5,697 6,408 7,564 8,672 10,085 12,792 16,338 20,489 24,769 27,587 30,191 33,409 35,718
18 6,265 7,015 8,231 9,390 10,865 13,675 17,338 21,605 25,989 28,869 31,526 34,805 37,156
19 6,844 7,633 8,907 10,117 11,651 14,562 18,338 22,718 27,204 30,144 32,852 36,191 38,582
20 7,434 8,260 9,591 10,851 12,443 15,452 19,337 23,828 28,412 31,410 34,170 37,566 39,997
22 8,643 9,542 10,982 12,338 14,041 17,240 21,337 26,039 30,813 33,924 36,781 40,289 42,796
24 9,886 10,856 12,401 13,848 15,659 19,037 23,337 28,241 33,196 36,415 39,364 42,980 45,559
25 10,520 11,524 13,120 14,611 16,473 19,939 24,337 29,339 34,382 37,652 40,646 44,314 46,928
30 13,787 14,953 16,791 18,493 20,599 24,478 29,336 34,800 40,256 43,773 46,979 50,892 53,672

ПРИЛОЖЕНИЕ В

Листинг программы имитационной модели двухфакторного эксперимента

(типовой вариант)

Файл variant1.lpr (сгенерирован автоматически средой Lazarus)

 

program variant1;

 

{$mode objfpc}{$H+}

 

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Interfaces, // this includes the LCL widgetset

Forms

{ you can add units after this }, unvar;

 

{x$R *.res}

 

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.

 

Файлunvar.pas (основнойфайлимитационноймодели)

unit unvar;

 

{$mode objfpc}{$H+}

 

interface

 

uses

Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls;

 

type

 

{ TForm1 }

 

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedureFormCreate(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

const NX=2;

typeTRArray=array[1..NX+1]of real;

TSArray=array[1..NX+1]of string;

const

PrcName='Обезвоживаниеэмульсии';

Mins:TRArray=(25, 0, 0);

Maxs:TRArray=(95, 60, 100);

epss:trarray=(0.1,0.2,0.3);

Names:TSArray=('температура,°C','время, мин', 'степеньобезвоживания, %');

var

Form1: TForm1;

 

implementation

functionResulter(xs:TRArray):real;

var

A: Extended;

begin

 

Result:=100*exp(-0.001*sqr(xs[1]-60)-0.001*sqr(xs[2]-45));;

end;

{ TForm1 }

 

procedure TForm1.Button1Click(Sender: TObject);

var

i: Integer;

XS:Trarray;

R: Double;

s: TStringList;

begin

s:=TStringlist.create;

s.add('Расчётфункцииотклика:');

for i:=1 to nx do

begin

XS[i]:=strtofloatdef(InputBox('ВведитезначениеХ'+inttostr(i),'',floattostr(mins[i])),mins[i]);

if XS[i]<mins[i] then xs[i]:=mins[i];

if XS[i]>maxs[i] then xs[i]:=maxs[i];

s.add('X'+inttostr(i)+' = '+floattostr(xs[i]));

Xs[i]:=xs[i]+(Random/2-0.5)*epss[i];

if XS[i]<mins[i] then xs[i]:=mins[i];

if XS[i]>maxs[i] then xs[i]:=maxs[i];

end;

i:=nx+1;

R:=Resulter(Xs)+(Random/2-0.5)*epss[i];

if R<mins[i] then r:=mins[i];

if R>maxs[i] then r:=maxs[i];

memo1.lines.clear;memo1.lines.AddStrings(s);s.free;

memo1.Lines.Add('Y = '+floattostr(R));

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

memo1.lines.clear;

FormCreate(self);

end;

 

procedure TForm1.FormCreate(Sender: TObject);

var

i: Integer;

begin

Caption:=PrcName;

Randomize;

 

memo1.Lines.add('Диапазонвозможногоизмененияфакторов:');

for i:=1 to nx do

memo1.lines.add('X'+inttostr(i)+' - '+Names[i]+' от '+floattostr(mins[i])+' до '+floattostr(maxs[i]));

Memo1.Lines.Add('Параметр оптимизации:');

i:=nx+1;

memo1.lines.add('Y - '+Names[i]+' от '+floattostr(mins[i])+' до '+floattostr(maxs[i]));

end;

 

initialization

{$I unvar.lrs}

 

end. 

 

Файл unvar.lfm (сгенерирован автоматически на основе визуальной разработки формы)

object Form1: TForm1

Left = 351

Height = 300

Top = 199

Width = 400

Caption = 'Вариант 1'

ClientHeight = 300

ClientWidth = 400

OnCreate = FormCreate

LCLVersion = '1.5'

object Button1: TButton

Left = 48

Height = 25

Top = 264

Width = 131

Caption = 'Рассчитать'

OnClick = Button1Click

TabOrder = 0

end

object Memo1: TMemo

Left = 8

Height = 242

Top = 0

Width = 368

ReadOnly = True

TabOrder = 1

end

object Button2: TButton

Left = 232

Height = 25

Top = 264

Width = 75

Caption = 'Очистить'

OnClick = Button2Click

TabOrder = 2

end

end


 

ПРИЛОЖЕНИЕ Г

Листинг программы имитационной модели пятифакторного эксперимента с двумя значимыми факторами

(типовой вариант)

Файл variant1.lpr (сгенерирован автоматически средой Lazarus)

program variant1;

 

{$mode objfpc}{$H+}

 

uses

{$IFDEF UNIX}{$IFDEF UseCThreads}

cthreads,

{$ENDIF}{$ENDIF}

Interfaces, // this includes the LCL widgetset

Forms

{ you can add units after this }, unvar;

 

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.Run;

end.       

Файлunvar.pas (основнойфайлимитационноймодели)

 

unit unvar;

 

{$mode objfpc}{$H+}

 

interface

 

uses

Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls,math;

 

type

 

{ TForm1 }

 

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedureFormCreate(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

const NX=5;

typeTRArray=array[1..NX+1]of real;

TSArray=array[1..NX+1]of string;

const

PrcName='';

Mins:TRArray=(0, 0, 0,-1, 0,0);

Maxs:TRArray=(3, 20,10,1, 1,100);

epss:trarray=(0.002,0.05,0.01,0.001,0.001,0.01);

 

var

Form1: TForm1;

 

implementation

functionResulter(xs:TRArray):real;

const

 a=1.05861094751998;

 b=0.130849558663074;

 c=1.18;

 m1=4;

 m2=6;

 

begin

Result:=a+b*sqrt((xs[2]-m1)**2+c*(xs[3]-m2)**2);

end;

{ TForm1 }

 

procedure TForm1.Button1Click(Sender: TObject);

var

i: Integer;

XS:Trarray;

R: Double;

s: TStringList;

begin

s:=TStringlist.create;

s.add('Расчётфункцииотклика:');

for i:=1 to nx do

begin

XS[i]:=strtofloatdef(InputBox('ВведитезначениеХ'+inttostr(i),'',floattostr(mins[i])),mins[i]);

if XS[i]<mins[i] then xs[i]:=mins[i];

if XS[i]>maxs[i] then xs[i]:=maxs[i];

s.add('X'+inttostr(i)+' = '+floattostr(xs[i]));

Xs[i]:=xs[i]+(Random/2-0.5)*epss[i];

if XS[i]<mins[i] then xs[i]:=mins[i];

if XS[i]>maxs[i] then xs[i]:=maxs[i];

end;

i:=nx+1;

R:=Resulter(Xs)+(Random/2-0.5)*epss[i];

{ if R<mins[i] then r:=mins[i];

if R>maxs[i] then r:=maxs[i];}

memo1.lines.clear;memo1.lines.AddStrings(s);s.free;

memo1.Lines.Add('Y = '+floattostr(R));

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

memo1.lines.clear;

FormCreate(self);

end;

 

procedure TForm1.FormCreate(Sender: TObject);

var

i: Integer;

begin

Caption:=PrcName;

Randomize;

memo1.Lines.add('Диапазонвозможногоизмененияфакторов:');

for i:=1 to nx do

memo1.lines.add('X'+inttostr(i)+' от '+floattostr(mins[i])+' до '+floattostr(maxs[i]));

Memo1.Lines.Add('Параметр оптимизации:');

i:=nx+1;

memo1.lines.add('Y - '+' от '+floattostr(mins[i])+' до '+floattostr(maxs[i]));

memo1.lines.add('Найтиминимум');

end;

 

initialization

{$I unvar.lrs}

 

end.

 

Файл unvar.lfm (сгенерирован автоматически на основе визуальной разработки формы)

 

object Form1: TForm1

Left = 351

Height = 300

Top = 199

Width = 400

ActiveControl = Memo1

Caption = 'Form1'

ClientHeight = 300

ClientWidth = 400

OnCreate = FormCreate

LCLVersion = '1.1'

object Button1: TButton

Left = 48

Height = 25

Top = 264

Width = 131

Caption = 'Рассчитать'

OnClick = Button1Click

TabOrder = 0

end

object Memo1: TMemo

Left = 8

Height = 242

Top = 0

Width = 368

ReadOnly = True

TabOrder = 1

end

object Button2: TButton

Left = 232

Height = 25

Top = 264

Width = 75

Caption = 'Очистить'

OnClick = Button2Click

TabOrder = 2

end

end


[1] Числовые результаты для приведены условно

[2] Все задания носят учебный характер. Просьба не использовать приведённые ориентировочно оптимальные значения в научно-исследовательских целях

[3] Задание в самом варианте 1 сохранено, однако числовые значения оптимума существенно изменены относительно примера.

[4]Сообщения типа rat: replaced … являются внутренней информацией системы о преобразовании типов данных, в большинстве случаев на них не следует обращать внимания.

[5]n – число факторов



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 225; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.125.219 (0.314 с.)