Планирование уроков на учебный год (по учебнику Н.Д. Угриновича, профильный уровень)



Уроки 17 - 19
§1.6. Оптимизационное моделирование в экономике




Содержание урока

1.6.1. Информационные оптимизационные модели
1.6.2. Построение и исследование оптимизационной модели на языке Visual Basic
1.6.3. Построение и исследование оптимизационной модели на языке Turbo Delphi

Проект «Оптимизация раскроя» на языке Turbo Delphi

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

1.6.4. Построение и исследование оптимизационной модели в электронных таблицах

1.6.3. Построение и исследование оптимизационной модели на языке Turbo Delphi


Проект «Оптимизация раскроя» на языке Turbo Delphi


Набор параметров Х1, Х2 и Х3 (количества листов материала, которые должны быть раскроены различными способами) должен удовлетворять одновременно двум условиям, что на языке Turbo Delphi запишется следующим образом:

(10*X1+3*X2+8*X3=500) And (3*X1+6*X2+4*X3=300)

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

Проект «Оптимизация раскроя» на языке Turbo Delphi

1. Поместить на форму (рис. 1.29):

• три надписи Label1, Labe12 и Labe13 для вывода значений параметров;
• надпись Labe14 для вывода значения целевой функции;
• надписи для вывода обозначений;
• кнопку Button1 для запуска событийной процедуры.

2. Создать событийную процедуру TForm1.ButtonlClick ():


var
X1, X2, X3, F: integer;
procedure TForm1.ButtonlClick(Sender: TObject);
begin
    F-300;
    For X1; =0 To 100 Do
      begin
        For X2: =0 To 100 Do
          begin
            For X3: =0 To 100 Do
              begin
                If (10*X1+3*X2+8*X3-500) And (3*X1+6*X2+4*X3= 300)
                  Then begin
                    If X1+X2+X3<F
                      Then begin
                          F:=X1+X2+X3;
                          Label1.Caption:=IntToStr(X1);
                          Label2.Caption:=IntToStr(X2);
                          Label3.Caption:=IntToStr(X3);
                          Label4.Caption:=IntToStr(F);
                      end;
                  end;
              end;
          end;
      end;
end;

3. Запустить проект и щелкнуть по кнопке Пуск.

На надписи будет выведен набор параметров (см. рис. 1.29):

Рис. 1.29. Проект «Оптимизация раскроя» на языке Turbo Delphi


X1 (количество листов, раскроенное способом 1) — 20;
Х2 (количество листов, раскроенное способом 2) — 20;
Х3 (количество листов, раскроенное способом 3) — 30.
Значение целевой функции (количество листов материала)— 70.

Следующая страница Контрольные вопросы



Cкачать материалы урока





Наверх