Род Стивенс

Книги → Delphi. Готовые алгоритмы → Глава 8. Деревья решений

TrialSolution[i] := TestSolution[i] ; end else begin

// Восстановление исходных значений.

TestProfit := TrialProfit;

TestCost := TrialCost; for i := 1 to Numltems do

TestSolution[i]:= TrialSolution[i] ;

end;

end; // Конец for change:= 1 to nuiti_changes do...

// Если данное решение лучше решения на этот момент,

// сохраняем его.

if (TrialProfit > BestProfit) then begin

BestProfit := TrialProfit;

BestCost := TrialCost; for i := 1 to .Numltems do

BestSolutionfi] := TrialSolution[i] ;

end;

// Сброс исследуемого решения для следующего испытания. TestProfit := 0;

TestCost := 0; for i := 1 to Numltems do TestSolution[i] := False; end; // Конец for trial: = 1 to num_trials do...

end;

// Удаление случайных элементов из исследуемого решения. procedure THeurForm.RemoveFromSolution;

var

num, j, selection : Integer; begin

// Сколько элементов в решении. num := 0 ,-

for j := 1 to Numltems do if (TestSolution[j]) then num : = num + 1;

if (num < 1) then exit;

// Случайный выбор одного из элементов.

Selection := Random(num) + 1;

// Нахождение случайно выбранного элемента.

for j := 1 to Numltems do > If (TestSolution{j]) then begin

selection := selection - 1;

If (selection < 1) then break; end;

// Удаление элемента из решения.

TestProfit := TestProfit.Items[j1•Profit;

TestCost := TestCost. Items [j ] .Cost;

TestSolution[j] := False;

end; .

Программа Heur вызывает процедуру MakeChangesFixed двумя способами. Процедура Fixedl использует MakeChangesFixed для выполнения N испыта­ний. В течение каждого испытания она пытается улучшить испытательное реше­ние, заменяя один элемент решения/Она повторяет эту замену 2, * N раз.

Процедура Fixed2 использует МакеСЬапдезПхесЩЛЯ выполнения одного испытания. В течение испытания она пытается улучшить пробное решение, заме­няя два элемента решения. Она повторяет эту замену 10 * N раз в поиске хорошего решения.

← предыдущая следующая →

Страницы раздела: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Публикация компанией Dropbox кода Zulip – средства общения для IT-разработчиков

20.11.2015
Одной из одобрительно встреченных программистами инициатив, реализующихся в рамках акции Hack Week, стала публикация исходного кода приложения Zulip – веб-приложения для общения между собой разработчиков в сфере IT-технологий.

Объединение ОС Android и Chrome

17.11.2015
Слухи об объединении двух крупнейших ОС компании Google, Android и Chrome, гуляют по Интернету уже более 5 лет, но до сих пор этого не случилось, хотя очевидно, что с течением времени эти ОС становятся всё более похожими: так, в последнее время появилось немало Android-устройств, к которым прилагаются клавиатуры, а Chrome OS «научилась» работать с сенсорными экранами.

Конференция Linux Piter 2015

15.11.2015
Уже почти через неделю в Санкт-Петербурге впервые в истории пройдёт конференция, посвящённая проблемам свободного программного обеспечения – Linux Piter 2015.