Кадровый потенциал

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

естирование программного продукта

Решение: Исходные данные поставленной задачи были введены в программный модуль. Результаты вычислений представлены на рисунке 10.

Рисунок 10 - Результаты выполнения тестовой задачи 1

Найденный минимальный путь 1 - 5 - 6 - 8 - 11 со стоимостью всего маршрута 13 является правильным.

4.2 Тестовая задача 2

Задача: курьеру требуется доехать из офиса 1 до пункта назначения 5 с наименьшим количеством остановок на светофорах, представленных на рисунке 11. Вес ребра - количество светофоров на каждой ветке пути.

Рисунок 11 - Транспортная сеть (карта маршрута)

Решение: Параметры были введены в программу. Результаты вычислений представлены на рисунке 12.

Рисунок 12 - Результаты выполнения тестовой задачи 2

Все расчеты выполнены верно.

Тестовая задача 3

В качестве третей тестовой задачи был использован пример, приведенный в описании метода Минти (раздел 1.2. курсовой работы).

Результаты выполнения данного примера представлены на рисунке 13.

Рисунок 13 - Результаты выполнения тестовой задачи 3

Результаты, полученные в ходе выполнения программы, совпадают с ранее полученными.

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

Заключение

В данной работе был исследован один из современных методов оптимизации, а именно нахождение кратчайшего пути в неориентированной транспортной сети по методу Минти (метод меток).

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

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

Приложение А

Листинг основного модуля программы

unit Unit1;, SysUtils, Classes, Graphics, Controls, Forms, StdCtrls, Grids, Types,, XPMan;= class(TForm): TButton;: TButton;: TButton;: TStringGrid;: TLabel;: TMemo;: TLabeledEdit;: TLabeledEdit;: TLabeledEdit;: TButton;Button1Click(Sender: TObject);cmdAddClick(Sender: TObject);cmdCompClick(Sender: TObject);cmdDelClick(Sender: TObject);FormCreate(Sender: TObject);txtDestChange(Sender: TObject);txtHandlerKeyPress(Sender: TObject; var Key: Char);txtSrcChange(Sender: TObject);txtVertexChange(Sender: TObject);;= class(TStringGrid);: TForm1;TElement = record

_start, _end, _weight, _initial:Integer;

_checked:boolean;;= record

_vertex:integer;

_data:integer;;= array of TVertex;Math;

{$R *.dfm}VertexCount:Integer = 6;:Integer = 1;:Integer = 6;EdgesCount = 10;:array[1 EdgesCount, 1 3] of Integer =

((1, 2, 2), (1, 3, 3), (2, 3, 1),

(2, 4, 2), (2, 5, 10), (3, 4, 6),

(3, 5, 4), (4, 5, 3), (4, 6, 8),

(5, 6, 2));InArr(const Arr:TVertexArray; const Num:Integer):Boolean;I:Integer;:=False;I:=0 to High(Arr) doArr[I]._vertex = Num then:=True;;;;TForm1.Button1Click(Sender: TObject);.Clear;.Clear;.Clear;.Clear;;TForm1.cmdAddClick(Sender: TObject);I:Integer;.RowCount:=Grid.RowCount + 1;I:=0 to 2 do Grid.Cells[I, Grid.RowCount - 1]:='0';;TForm1.FormCreate(Sender: TObject);I, J:Integer;.OnKeyPress:=txtHandlerKeyPress;.OnKeyPress:=txtHandlerKeyPress;.OnKeyPress:=txtHandlerKeyPress;.RowCount:=EdgesCount + 1;.Text:=IntToStr(VertexCount);.Text:=IntToStr(VertexSrc);.Text:=IntToStr(VertexDest);.Cells[0, 0]:='Начало';.Cells[1, 0]:='Конец';.Cells[2, 0]:='Вес';I:=1 to EdgesCount doJ:=1 to 3 do Grid.Cells[J-1, I]:=IntToStr(Edges[I, J]);;TForm1.cmdCompClick(Sender: TObject);I, _from, _to:Integer;, VertArr:TVertexArray;:Boolean;:array of TElement;Process;I, Min, MinPos:Integer;InArr(VertArr, VertexDest) then Exit;

Перейти на страницу: 1 2 3