Разработка компьютерной системы для решения задач многомерной безусловной оптимизации методом Хука-Дживса с дискретным шагом

Теория метода оптимизации: постановка задачи, разработка алгоритма численной реализации. Описание структуры программы и её компонентов. Результаты отладки на контрольных примерах. Исследование эффективности работы метода оптимизации на тестовых задачах.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.01.2015
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство науки и образования РФ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

“Сибирский государственный индустриальный университет”

Кафедра информационных технологий в металлургии

Пояснительная записка к курсовой работе

по дисциплине «Оптимизация в технике и технологиях»

Тема: «Разработка компьютерной системы для решения задач многомерной безусловной оптимизации методом Хука-Дживса с дискретным шагом»

Выполнил: ст.гр. ИСТ-11

Игумнов А.М.

Проверил: к.т.н., доцент

Рыбенко И.А.

г. Новокузнецк 2014

Содержание

1. Теоретическая основа метода оптимизации

1.1 Постановка задачи

1.2 Математические основы метода

1.3 Разработка алгоритма численной реализации

2. Программная реализация системы на ЭВМ

2.1 Описание структуры программы и её компонентов

2.2 Результаты отладки программы на контрольных примерах

2.3 Составление инструкции по использованию программы

3. Исследование эффективности работы метода оптимизации на тестовых задачах

3.1 Выбор и описание тестовых задач

3.2 Исследование влияния параметров задачи на количество расчетов целевой функции

3.3 Исследование работоспособности метода путем решения задач различной размерности и сложности

3.4 Обработка результатов исследований средствами Excel

Заключение

Список литературы

Приложение

1. Теоретическая основа метода оптимизации

1.1 Постановка задачи

оптимизация программа алгоритм численный

Необходимо разработать компьютерную систему для решения задач многомерной безусловной оптимизации методом Хука-Дживса с дискретным шагом.

Задачей оптимизации в математике называется задача о нахождении экстремума (минимума или максимума) вещественной функции в области. При нахождении экстремума вещественной функции в n-мерном пространстве применение графических методов невозможно (в силу невозможности графической интерпретации n-мерного пространства), а аналитические методы, как правило, требуют помимо исследуемой функции указания дополнительных сведений. Поэтому в n-мерном пространстве решение задачи происходит численными методами. Количество k-поисковых «шагов» (т.е. длина траектории поиска), определяет эффективность метода оптимизации.

1.2 Математические основы метода

Для решения поставленной задачи расчеты будут проходить через два этапа. Первый этап: "исследующий поиск" вокруг базисной точки. В нем задается начальное приближение X(1) и приращения по координатам X. Рассчитывается значение f(X(1)) в базисной точке. Затем в циклическом порядке совершаются пробные шаги. Если приращение улучшает целевую функцию, то шаг считается “удачным”. По этой переменной значение изменяется на величину шага и дается приращение по другой переменной Иначе - “неудачным” и делается шаг в противоположном направлении. И если он тоже оказался “неудачным”, то значение этой переменной оставляют без изменения, и дается приращение по другой переменой и т.д. пока не будут изменены все независимые переменные. Второй этап: "поиск по образцу" в направлении, выбранном для минимизации. Он осуществляется вдоль направления, соединяющего X(2) и X(1). Совершается один или несколько шагов до тех пор, пока шаги являются “удачными”.

1.3 Разработка алгоритма численной реализации

Начальный этап. Выбрать начальную точку X(1), и 0 - скаляр, используемый в критерии остановки. Пусть - единичные координатные направления, б - коэффициент сжатия шага. Положить Y(1) = X(1), k = j = 1 и перейти к основному этапу.

Основной этап. Шаг 1. Положить = + .

Если > - то j = j+1, иначе k=k+1 и перейти к шагу 2

Шаг 2. Положить X(k+1) = Y(n). Если ||X(k+1) - X(k)|| , то остановиться; в противном случае вычислить шаг а=||X(k+1) - X(k)|| ?б, Y(1) = X(k), заменить k на k+1, положить j = 1 и перейти к шагу 3.

Шаг 3. Вычислить Y(j+1) = Y(j)+a и f(Y(j) ), f(Y(j+1) ). Если f(Y(j+1) )<f(Y(j) ), то j=j+1 и вернуться к шагу 3. Иначе положить X(k)=Y(j) ,j=1, Y(1) = X(k), и вернуться к шагу 1.

2. Программная реализация системы на ЭВМ

2.1 Описание структуры программы и ее компонентов

Программа реализована в среде разработки Delphi 7.

На рисунке 1 показана программа, которая состоит из следующих частей:

Рисунок 1 - структура программы

- блок выбора функции(компонент RadioButton), - пользователь должен выбрать функцию, для которой будут производиться расчеты

- блок для ввода начальных значений(компонент Edit) - пользователь должен задать 3 начальных значения: х1, х2 и точность, необходимые для расчетов всех последующих итераций,

- кнопка "Выполнить расчет"(компонент Button) - после ввода начальных данных и выбора функции пользователь должен нажать эту кнопку для получения результатов,

- блок для вывода результатов(компонент Edit) - туда записываются конечные результаты после всей работы программы, а именно: минимальный х1, минимальный х2, значение функции и количество требуемых итераций для получения результатов.

В программе используются функции RB1ExplSearch, RB2ExplSearch и RB3ExplSearch для расчетов операции исследующего поиска и " procedure TForm1.btn1Click(Sender: TObject) " - процедура описания действия кнопки "Выполнить расчет" при нажатии на нее.

2.2 Результаты отладки программы на контрольных примерах

В качестве примера используем формулу (x1-x2)2 + (x2+2,9)2 . Зададим начальные значения х1 = 3 и х2 = 4 и точность равную 0,015. На рисунке 2 видно, что программа выполнила все требуемые операции и вывела результат в соответствующие поля. При этом не было обнаружено никаких ошибок или проблем со скоростью выполнения задачи.

Рисунок 2 - результат работы программы

2.3 Составление инструкции по использованию программы

После запуска программы появится окно, изображенное на рисунке 3.

Рисунок 3 - Стартовый вид программы после запуска

Далее нужно выбрать одну из трех функций, для которой требуется выполнить оптимизацию. Результат выбора показан на рисунке 4.

Рисунок 4 - Выбор функции

После этого нужно задать начальные значения х1, х2 и точность, к примеру так, как показано на рисунке 5.

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

Рисунок 5 - Ввод начальных значений

После того как все предыдущие шаги сделаны, нужно нажать на кнопку "Выполнить расчет". Результаты запишутся ниже, а в специальном окне справа будут прописаны все расчеты всех операций. Результат работы программы показан на рисунке 6, на котором видны расчеты минимума х1, минимума х2, значение функции и количество операций.

Рисунок 6 - Результаты расчетов после нажатия кнопки

3. Исследование эффективности работы метода оптимизации на тестовых задачах

3.1 Выбор и описание тестовых задач

В качестве тестовой задачи выберем функцию (x1-x2)2 + (x2+3)2 и зададим начальные координаты -2 и -3 с точностью 0,05.

Сначала выполняется исследующий поиск функции f(x)=(x1-x2)2 + (x2+3)2 при х1=-2,х2=-3 и получаем соответствующие результаты х1 и х2. В программе вычисляются S1 и S2, а также h1и h2.

Далее происходит к поиску по образцу. Вначале подставляются в функцию f(x)=(x1-x2)2 + (x2+3)2 наши значения х1, х2, получая f(x). Второе действие: х1=х1+h1 и х2=x2+h2 и снова считается значение функции получая другое значение f(x). Повторяем второе действие пока функция убывает , как только она начинает возрастать прекращаем поиск по образцу. Теперь идет проверка критерия точности. Он больше чем заданная точность - значит идет переход ко второй итерации исследующего поиска. И так выполняем исследующий поиск и поиск по образцу пока критерий точности не станет меньше заданной точности. Потребовалось 5 итераций для вычисления результатов: х1 стал равен -2,9744, х2 = -2,9808 и f(x) приблизительно 0,00041. Результат показан на рисунке 7.

Рисунок 7 - Результаты теста программы

3.2 Исследование влияния параметров задачи на количество расчетов целевой функции

Проведя исследования заданных мной функций выяснилось:

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

Для некоторых функций точность влияет на количество итераций.

Рисунок 8 - Влияние изменения точности на результат

К примеру, при точности 0,2 для решения задачи оптимизации программе потребовалось всего 2 итерации, как показано на рисунке 8, однако результат получился менее точным.

3.3 Исследование работоспособности метода путем решения задач различной размерности и сложности

Можно усложнить программу, взяв для примера более сложную функцию: (x1+x2-0,1)2 + (x2-1)2 , оставив те же значения. Результат показан на рисунке 9

Рисунок 9 - Первое усложнение задачи для решения

В качестве последнего теста можем изменить точность - количество итераций увеличится на 1 и станет равной 6, результат изображен на рисунке 10.

Рисунок 10 - Второе усложнение задачи

3.4 Обработка результатов исследований средствами Excel

Результаты исследований с помощью Excel приведены ниже с графиками соответствующих функций с варьированием различных значений.

В качестве примера можно рассмотреть функцию (x1-x2)2 + (x2+2,9)2.

Далее, на рисунке 11, приведены значение функции по достижению минимума.

функция:

(x1-x2)^2+(x2+2,9)^2

начальное х1

начальное х2

точность

3

4

0,3

x1

x2

f(x)

-3,0416

-3,0784

0,033181

-3,0512

-3,0768

0,031914

-3,0608

-3,0752

0,030902

-3,0704

-3,0736

0,030147

-3,08

-3,072

0,029648

-3,0896

-3,0704

0,029405

-3,0992

-3,0688

0,029418

Рисунок 11 - Изменение значения функции

Далее рассмотрено, как задаваемая точность влияет на количество итераций, необходимых для решения задачи. Результаты показаны на рисунке 12.

точность

количество итераций

0,007

6

0,015

5

0,019

4

0,07

4

0,15

3

0,18

2

Рисунок 12 - Влияние изменения точности

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

точность=

0,015

 

начальный интервал

f(x)

кол-во итераций

[-2,-3]

1,6

5

[-1,-2]

0,005

4

[0,1]

0,0012

6

[4,2]

0,00044

6

[5,6]

3,91808

6

[7,3]

0,00368

5

Рисунок 13 - Влияние начального интервала на функцию

Заключение

При выполнении работы была разработана компьютерная система, позволяющая решать задачи многомерной безусловной оптимизации методом Хука-Дживса с дискретным шагом. Разработанная программа показала высокую работоспособность и корректность расчетов в зависимости от изменений начальных показателей.

Список литературы

1. Алгоритмы и примеры решения задач одномерной оптимизации: Метод.указ./ Сост.: С.П Мочалов, И.А. Рыбенко.: СибГИУ.- Новокузнецк, 2004.- 18с., ил.

2. Мочалов С.П. Методы оптимизации металлургических процессов: Учебное пособие / КузПИ. -Кемерово, 1989.- 81с.

3. Р.Хук ,Т.А.Дживс “ Прямой поиск решения для числовых и статических проблем ”, 212-219 с., 1961.

Приложение

Var //описание глобальных переменных

x1,x2:double;

iteration:integer;

F:double;

function RB1ExplSearch(x1,x2:double;check:integer):Double; //Функция для расчета исследующего поиска

var

xopt:double;

f1,f2,f3:double;

a0,a1,a2:double;

tx1,tx2,tx3:double;

begin

if check=1 then //для расчета первого х

begin

tx1:=x1;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1+x2)+sqr(x2-1);

f2:=sqr(tx2+x2)+sqr(x2-1);

f3:=sqr(tx3+x2)+sqr(x2-1);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2+tx1)/2-a1/2/a2;

end

else

if check=2 then //для расчета второго х

begin

tx1:=x2;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1+x1)+sqr(tx1-1);

f2:=sqr(tx2+x1)+sqr(tx2-1);

f3:=sqr(tx3+x1)+sqr(tx3-1);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2+tx1)/2-a1/2/a2;

end;

result:=xopt;

end;

function RB2ExplSearch(x1,x2:double;check:integer):Double; //Функция для расчета исследующего поиска

var

xopt:double;

f1,f2,f3:double;

a0,a1,a2:double;

tx1,tx2,tx3:double;

begin

if check=1 then //для расчета первого х

begin

tx1:=x1;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1-2*x2)+sqr(x2+3);

f2:=sqr(tx2-2*x2)+sqr(x2+3);

f3:=sqr(tx3-2*x2)+sqr(x2+3);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2-tx1)/2-a1/2/a2;

end

else

if check=2 then //для расчета второго х

begin

tx1:=x2;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1-x1)+sqr(tx1+3);

f2:=sqr(tx2-x1)+sqr(tx2+3);

f3:=sqr(tx3-x1)+sqr(tx3+3);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2+tx1)/2-a1/2/a2;

end;

result:=xopt;

end;

function RB3ExplSearch(x1,x2:double;check:integer):Double; //Функция для расчета исследующего поиска

var

xopt:double;

f1,f2,f3:double;

a0,a1,a2:double;

tx1,tx2,tx3:double;

begin

if check=1 then //для расчета первого х

begin

tx1:=x1;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1+x2)+sqr(x2+4);

f2:=sqr(tx2+x2)+sqr(x2+4);

f3:=sqr(tx3+x2)+sqr(x2+4);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2+tx1)/2-a1/2/a2;

end

else

if check=2 then //для расчета второго х

begin

tx1:=x2;

tx2:=tx1+1;

tx3:=tx2+1;

f1:=sqr(tx1+x1)+sqr(tx1+4);

f2:=sqr(tx2+x1)+sqr(tx2+4);

f3:=sqr(tx3+x1)+sqr(tx3+4);

a0:=f1;

a1:=(f2-f1)/(tx2-tx1);

a2:=1/(tx3-tx2)*((f3-f1)/(tx3-tx1)-(f2-f1)/(tx2-tx1));

xopt:=(tx2+tx1)/2-a1/2/a2;

end;

result:=xopt;

end;

procedure TForm1.btn1Click(Sender: TObject);

var

x1opt,x2opt:double;

sx1,sx2:double;

h1,h2:double;

dF:double;

tx1,tx2:double;

error:single; //погрешность

test:double;

n:integer;

i:integer;

fx:Double;

begin

iteration:=0;

lst1.Items.Clear;

EXopt1.Text:='';

EXopt2.Text:='';

EIteration.Text:='';

try

n:=0;

x1:=StrToFloat(Ex1.text);

n:=1;

x2:=StrToFloat(Ex2.text);

n:=2;

error:=strtofloat(Eequal.Text);

begin

if rb1.Checked then //проверка на выбор функции и запуск метода Хука-Дживса

repeat

begin

sx1:=x1;

sx2:=x2;

x1opt:=RB1ExplSearch(x1,x2,1); //Передача значений в операцию исследующего поиска для первого х

x2opt:=RB1ExplSearch(x1opt,x2,2); // Передача значений в операцию исследующего поиска для второго х

//fx:=sqr(x1opt+x2opt)+sqr(x2opt-1);

fx:=sqr(x1opt+x2opt)+sqr(x2opt-1);

lst1.Items.Add('Исследующий поиск');

lst1.Items.Add('x1 = '+FloatToStr(x1opt)+' x2 = '+FloatToStr(x2opt)+' f(x) ='+FloatToStr(fx));

h1:=(x1opt-x1)*0.1;

h2:=(x2opt-x2)*0.1;

F:=sqr(x1+x2-0.1)+sqr(x2-1);

dF:=0;

while dF<F do //запуск цикла поиска по образцу

begin

F:=sqr(x1+x2-0.1)+sqr(x2-1);

tx1:=x1;

tx2:=x2;

x1:=x1+h1;

x2:=x2+h2;

lst1.Items.Add('Поиск по образцу');

lst1.Items.Add('x1 = '+FloatToStr(x1)+' x2 = '+FloatToStr(x2)+' f(x) ='+FloatToStr(F));

dF:=sqr(x1+x2-0.1)+sqr(x2-1);

end;

test:=sqrt(sqr(x1-sx1)+sqr(x2-sx2)); // расчет критерий для окончание поиска

x1:=tx1;

x2:=tx2;

iteration:=iteration+1; //подсчет количества итераций

end;

until test<=error //проверка критерий с заданной точность

end;

begin

if rb2.Checked then //проверка на выбор функции и запуск метода Хука-Дживса

repeat

begin

sx1:=x1;

sx2:=x2;

x1opt:=RB2ExplSearch(x1,x2,1); //Передача значений в функцию квадратичной аппроксимации для первого х

x2opt:=RB2ExplSearch(x1opt,x2,2); // Передача значений в функцию квадратичной аппроксимации для второго х

lst1.Items.Add('Исследующий поиск');

lst1.Items.Add('x1 = '+FloatToStr(x1opt)+' x2 = '+FloatToStr(x2opt)+' f(x) ='+FloatToStr(fx));

h1:=(x1opt-x1)*0.1;

h2:=(x2opt-x2)*0.1;

F:=sqr(x1-x2)+sqr(x2+3);

dF:=0;

while dF<F do //запуск цикла поиска по образцу

begin

F:=sqr(x1-x2)+sqr(x2+3);

tx1:=x1;

tx2:=x2;

x1:=x1+h1;

x2:=x2+h2;

lst1.Items.Add('Поиск по образцу');

lst1.Items.Add('x1 = '+FloatToStr(x1)+' x2 = '+FloatToStr(x2) +' f(x) ='+FloatToStr(F));

dF:=sqr(x1-x2)+sqr(x2+3);

end;

test:=sqrt(sqr(x1-sx1)+sqr(x2-sx2)); // расчет критерий для окончание поиска

x1:=tx1;

x2:=tx2;

iteration:=iteration+1; //подсчет количества итераций

end;

until test<=error //проверка критерий с заданной точность

end;

begin

if rb3.Checked then //проверка на выбор функции и запуск метода Хука-Дживса

repeat

begin

sx1:=x1;

sx2:=x2;

x1opt:=RB2ExplSearch(x1,x2,1); //Передача значений в функцию квадратичной аппроксимации для первого х

x2opt:=RB2ExplSearch(x1opt,x2,2); // Передача значений в функцию квадратичной аппроксимации для второго х

lst1.Items.Add('Исследующий поиск');

lst1.Items.Add('x1 = '+FloatToStr(x1opt)+' x2 = '+FloatToStr(x2opt)+' f(x) ='+FloatToStr(fx));

h1:=(x1opt-x1)*0.1;

h2:=(x2opt-x2)*0.1;

F:=sqr(x1-x2)+sqr(x2+2.9);

dF:=0;

hile dF<F do //запуск цикла поиска по образцу

begin

F:=sqr(x1-x2)+sqr(x2+2.9);

tx1:=x1;

tx2:=x2;

x1:=x1+h1;

x2:=x2+h2;

lst1.Items.Add('Поиск по образцу');

lst1.Items.Add('x1 = '+FloatToStr(x1)+' x2 = '+FloatToStr(x2) +' f(x) ='+FloatToStr(F));

dF:=sqr(x1-x2)+sqr(x2+2.9);

end;

test:=sqrt(sqr(x1-sx1)+sqr(x2-sx2)); // расчет критерий для окончание поиска

x1:=tx1;

x2:=tx2;

iteration:=iteration+1; //подсчет количества итераций

end;

until test<=error //проверка критерий с заданной точность

else

if not(rb1.Checked) and not(rb2.Checked) and not(rb3.Checked) then

begin

raise Exception.Create('Выбирите функцию');

end;

lst1.Items.Add('');

lst1.Items.Add('Количество итераций '+inttostr(iteration));

EIteration.Text:=IntToStr(iteration); //вывод результатов итерации

EXopt1.Text:=FloatToStr(x1); //вывод результатов для х первого

EXopt2.Text:=FloatToStr(x2); //вывод результатов для ч второго

EFunc.Text:=FloatToStr(F); //вывод результатов для функции в точках х1 х2

end;

Except //блок обработки ошибок

on EConvertError do

begin

if n=0 then

begin

Ex1.SetFocus;

ShowMessage('х1 должен быть числом или вместо точки должна быть запятая');

end;

if n=1 then

begin

Ex2.SetFocus;

ShowMessage('х2 должен быть числом или вместо точки должна быть запятая');

end;

if n=2 then

begin

Eequal.SetFocus;

ShowMessage('Точность должна быть числом или вместо точки должна быть запятая');

end;

end;

end;

lst1.TopIndex:=lst1.Items.Count-1; //прокрутка в конец списка расчетов

end;

end.

Размещено на Allbest.ru

...

Подобные документы

  • Теоретические основы метода оптимизации. Разработка компьютерной системы для решения задач многомерной безусловной оптимизации методом Хука-Дживса с минимизацией по направлению. Описание структуры программы и результаты ее отладки на контрольных примерах.

    курсовая работа [595,4 K], добавлен 13.01.2014

  • Пример расчета экстремума функции методом прямого поиска с дискретным шагом. Результаты отладки программы на контрольных примерах. Составление инструкции по использованию программы. Обработка результатов исследований визуальными средствами Excel.

    курсовая работа [1,0 M], добавлен 20.05.2012

  • Сравнение методов многомерной оптимизации Хука-Дживса и Розенброка по числу вычислений и по числу вызова оптимизируемой функции в процессе оптимизации. Особенности применения алгоритмов ускоряющего шага, в которых используется поиск по направлению.

    лабораторная работа [2,8 M], добавлен 14.07.2012

  • Необходимые условия экстремума. Разработка машинного алгоритма и программы многомерной оптимизации для градиентного метода с использованием метода равномерного поиска. Проверка необходимых и достаточных условий экстремума для найденной точки минимума.

    курсовая работа [249,8 K], добавлен 25.09.2013

  • Математическая постановка задачи. Алгоритм решения системы обыкновенных дифференциальных уравнений методом Эйлера. Параметры программы, ее логическая структура и функциональное назначение. Анализ входных и выходных данных. Описание тестовых задач.

    курсовая работа [38,0 K], добавлен 26.04.2011

  • Описание генетических алгоритмов. Применение генетического алгоритма для решения задачи коммивояжера. Постановка задачи безусловной оптимизации. Изучение распространения генетических алгоритмов на модель с несколькими взаимодействующими популяциями.

    дипломная работа [979,1 K], добавлен 30.05.2015

  • Классификация методов оптимизации. Обзор и выбор языка C#. Алгоритмический анализ задачи, описание алгоритма решения. Графические схемы разработанных алгоритмов. Разработка приложения и результаты тестовых испытаний. Интерфейс пользователя, тестирование.

    курсовая работа [1,6 M], добавлен 08.03.2016

  • Описание математических методов решения задачи оптимизации. Рассмотрение использования линейного программирования для решения транспортной задачи. Применение симплекс-метода, разработка разработать компьютерной модели в Microsoft Office Excel 2010.

    курсовая работа [1,5 M], добавлен 24.05.2015

  • Математические основы оптимизации. Постановка задачи оптимизации. Методы оптимизации. Решение задачи классическим симплекс методом. Графический метод. Решение задач с помощью Excel. Коэффициенты целевой функции. Линейное программирование, метод, задачи.

    реферат [157,5 K], добавлен 21.08.2008

  • Сущность задач оптимизации и методы их решения с ориентацией на современные средства компьютерной техники. Область допустимых решений. Структура оптимизационной модели. Проверка правильности нахождения точек координат методом половинного деления.

    курсовая работа [2,4 M], добавлен 25.04.2015

  • Изучение аналитических и численных методов поиска одномерного и многомерного безусловного экстремума. Решение поставленной задачи с помощью Mathcad и Excel. Реализация стандартных алгоритмов безусловной оптимизации средствами языка программирования С++.

    курсовая работа [488,5 K], добавлен 21.10.2012

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели, постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации системы. Разработка программного кода для оптимизации системы.

    дипломная работа [581,7 K], добавлен 27.10.2017

  • Разработка программы "Задача о строевой записке" для автоматизации процесса решения задач оптимизации. Основные задачи и функции подлежащие автоматизации. Требования к параметрам технических средств. Описание процесса отладки и испытания программы.

    курсовая работа [23,1 K], добавлен 28.04.2009

  • Функционирование систем массового обслуживания с разными типами заявок. Построение математической модели. Постановка задачи оптимизации среднего времени ожидания. Решение задачи оптимизации и разработка программного кода для оптимизации системы.

    курсовая работа [538,5 K], добавлен 11.08.2017

  • Исследование типовых примеров задач оптимизации. Реализация программы в среде MatLab для их решения. Изучение функций нелинейной оптимизации. Определение оптимума целевой функции одной или нескольких переменных. Поиск оптимальных настроек регулятора.

    лабораторная работа [188,8 K], добавлен 07.12.2016

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

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Особенности метода неопределенных множителей Лагранжа, градиентного метода и метода перебора и динамического программирования. Конструирование алгоритма решения задачи. Структурная схема алгоритма сценария диалога и описание его программной реализации.

    курсовая работа [1010,4 K], добавлен 10.08.2014

  • Постановка и решение дискретных оптимизационных задач методом дискретного программирования и методом ветвей и границ на примере классической задачи коммивояжера. Этапы построения алгоритма ветвей и границ и его эффективность, построение дерева графов.

    курсовая работа [195,5 K], добавлен 08.11.2009

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

    курсовая работа [365,6 K], добавлен 28.09.2015

  • Применение численного метода решения систем линейных алгебраических уравнений, используемых в прикладных задачах. Составление на базе метода матрицы Гаусса вычислительной схемы алгоритма и разработка интерфейса программы на алгоритмическом языке.

    курсовая работа [823,9 K], добавлен 19.06.2023

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.