Метод математического моделирования

Автор работы: Пользователь скрыл имя, 27 Апреля 2012 в 11:57, курсовая работа

Краткое описание

Моделирование в научных исследованиях стало применяться еще в глубокой древности и постепенно захватывало все новые области научных знаний: техническое конструирование, строительство и архитектуру, астрономию, физику, химию, биологию и, наконец, общественные науки. Большие успехи и признание практически во всех отраслях современной науки принес методу моделирования ХХ в.

Содержимое работы - 1 файл

ДОС КУРС.docx

— 241.54 Кб (Скачать файл)

 
7)    

Рассмотрим  маршрут доставки от поставщика A2 к потребителю B5 (ячейка A2B5).

Запасы  поставщика A2 составляют 100 единиц продукции. Потребность потребителя B5 составляет 100 единиц продукции. (см. таблицу пункта 6)

От  поставщика A2 к потребителю B5 будем доставлять 100 единиц продукции.

Разместим в ячейку A2B5 значение равное 100

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

Поставщик Потребитель Запас
B 1 B 2 B 3 B 4 B 5
A 1
150
    6  

 
200
    8  

 
250
    10  

 
-
    20  

 
-
    13  

 
600
A 2
-
    8  

 
-
    10  

 
100
    8  

 
250
    14  

 
100
    10  

 
450
Потребность 150 200 350 250 100  

 
Заполненные нами ячейки будем называть базисными, остальные - свободными.

Для решения  задачи методом потенциалов, количество базисных ячеек (задействованных маршрутов) должно равняться m + n - 1, где m - количество строк в таблице, n - количество столбцов в таблице.

Количество  базисных ячеек (задействованных маршрутов) равно 6, что и требовалось.

Мы  нашли начальное решение, т.е израсходовали все запасы поставщиков и удовлетворили все потребности потребителей.

S0 = 6 * 150 + 8 * 200 + 10 * 250 + 8 * 100 + 14 * 250 + 10 * 100 = 10300 ден. ед.

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

Дальнейшие  наши действия будут состоять из шагов, каждый из которых состоит в следующем:

  • Находим потенциалы поставщиков и потребителей для  имеющегося решения.

  • Находим оценки свободных ячеек. Если все оценки окажутся неотрицательными - задача решена.

  • Выбираем  свободную ячейку (с отрицательной  оценкой), выбор которой, позволяет  максимально снизить общую стоимость  доставки всей продукции на данном шаге решения.

  • Находим новое  решение, как минимум, не хуже предыдущего.

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

Шаг 1

ПРОИЗВЕДЕМ  ОЦЕНКУ ПОЛУЧЕННОГО РЕШЕНИЯ.

Каждому поставщику Ai ставим в соответствие некоторое число - ui, называемое потенциалом поставщика. 
Каждому потребителю Bj ставим в соответствие некоторое число - vj, называемое потенциалом потребителя. 
Для базисной ячеки (задействованного маршрута), сумма потенциалов поставщика и потребителя должна быть равна тарифу данного маршрута.  
(ui + vj = cij, где cij - тариф клетки AiBj)  
Поскольку, число базисных клеток - 6, а общее количество потенциалов равно 7, то для однозначного определения потенциалов, значение одного из них можно выбрать произвольно.

 
v3 + u2 = c23        v3 + u2 = 8

v3= 8 - 0 = 8

v4 + u2 = c24  v4 + u2 = 14   v4 = 14 - 0 = 14

v5 + u2 = c25        v5 + u2 = 10 

v5 = 10 - 0 = 10

v3 + u1 = c13  v3 + u1 = 10    u1 = 10 - 8 = 2

v1 + u1 = c11 v1 + u1 = 6      v1 = 6 - 2 = 4

v2 + u1 = c12         v2 + u1 = 8     v2 = 8 - 2 = 6 

Поставщик Потребитель U j
B 1 B 2 B 3 B 4 B 5
A 1
150
    6  

 
200
    8  

 
250
    10  

 
-
    20  

 
-
    13  

 
u 1 = 2
A 2
-
    8  

 
-
    10  

 
100
    8  

 
250
    14  

 
100
    10  

 
u 2 = 0
V i v 1 = 4 v 2 = 6 v 3 = 8 v 4 = 14 v 5 = 10  

 
 
 
 
 
 
 
 
 
 
  • 14 = c14 - ( u1 + v4 ) = 20 - (2 + 14 ) =  4

 
15 = c15 - ( u1 + v5 ) = 13 - ( 2 + 10 ) = 1

 
 
21 = c21 - ( u2 + v1 ) = 8 - ( 0 + 4 ) = 4

 
 
 
  • 22 = c22 - ( u2 + v2 ) = 10 - ( 0 + 6 ) = 4
 
 
 
 
Поставщик Потребитель U j
B 1 B 2 B 3 B 4 B 5
A 1
150
    6  

 
200
    8  

 
250
    10  

 
-
4 20  

 
-
1 13  

 
u 1 = 2
A 2
-
4 8  

 
-
4 10  

 
100
    8  

 
250
    14  

 
100
    10  

 
u 2 = 0
V i v 1 = 4 v 2 = 6 v 3 = 8 v 4 = 14 v 5 = 10  

 
 
 
 
 
 

 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
   

 

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

Ответ:

X опт = 150 200 250 0 0
0 0 100 250 100

 
Smin = 6 * 150 + 8 * 200 + 10 * 250 + 8 * 100 + 14 * 250 + 10 * 100 = 10300

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

                                                
 
 
 
 
 
 
 
 
 
 
 
 

ЗАКЛЮЧЕНИЕ

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

    Если  разность предварительных потенциалов  для каждой пары пунктов не превосходит  стоимости перевозки, то данный план перевозок – решение задачи, а  сами предварительные потенциалы –  потенциалы задачи (или оценки ее условий).  
 
 
 
 
 
 
 
 
 
 
 

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

  1. Гольштейн, Е.Г. Линейное программирование./ Гольштейн, Е.Г., Юдин, Д.Б. Теория, методы и приложения. – М., Наука, 1969. – с. 424;
  2. Грешилов, А.А. Прикладные задачи математического программирования: учебное пособие для ВУЗов./ Грешилов, А.А.  – М., Логос, 2006. – с. 286;
  3. Зайченко, Ю.П. Исследование операций./ Зайченко, Ю.П. – 2-ое издание, перер. и доп. – Киев., Высшая школа, 1979. – с. 392;
  4. Таха. Введение в исследование операций./ Таха, Хэмди, А.  – 6-е изд. - М., Изд. дом «Вильямс», 2001. – с. 912.  
 
 
 
 
 
 
 
 
 
 
 
 

 
 

Приложение А

 
 
 
 
 
 
 
 
 
 
 

Приложение Б

unit Unit1; 

interface 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, Buttons, Grids, ExtCtrls; 

type

  TForm1 = class(TForm)

    Panel1: TPanel;

    StringGrid1: TStringGrid;

    BitBtn1: TBitBtn;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    Edit6: TEdit;

    Edit7: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    Label10: TLabel;

    Label11: TLabel;

    Label12: TLabel;

    StringGrid2: TStringGrid;

    Label13: TLabel;

    Label14: TLabel;

    Label15: TLabel;

    Label16: TLabel;

    Label17: TLabel;

    Label18: TLabel;

    Label19: TLabel;

    Edit8: TEdit;

    Edit9: TEdit;

    Edit10: TEdit;

    Edit11: TEdit;

    Edit12: TEdit;

    Edit13: TEdit;

    Edit14: TEdit;

    Label20: TLabel;

    Label21: TLabel;

    Label22: TLabel;

    Label23: TLabel;

    Label24: TLabel;

    Label25: TLabel;

    Edit15: TEdit;

    BitBtn3: TBitBtn;

    Label26: TLabel;

    Label27: TLabel;

    Label28: TLabel;

    Label29: TLabel;

    Label30: TLabel;

    Label31: TLabel;

    StringGrid3: TStringGrid;

    Label32: TLabel;

    Label33: TLabel;

    Label34: TLabel;

    Label35: TLabel;

    Edit16: TEdit;

    Edit17: TEdit;

    Edit18: TEdit;

    Edit19: TEdit;

    Edit20: TEdit;

    Edit21: TEdit;

    Edit22: TEdit;

    Label36: TLabel;

    BitBtn2: TBitBtn;

    Label37: TLabel;

    Memo1: TMemo;

    Bevel1: TBevel;

    Bevel2: TBevel;

    Bevel3: TBevel;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

      Rect: TRect; State: TGridDrawState);

    procedure StringGrid3DrawCell(Sender: TObject; ACol, ARow: Integer;

      Rect: TRect; State: TGridDrawState); 
 
 

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  q,w,e,r,t,y,m,n,L:real;

implementation 

{$R *.dfm} 

procedure TForm1.BitBtn1Click(Sender: TObject);

var m,n:real;

begin

Edit3.Text:=Edit14.Text;

Edit4.Text:=Edit13.Text;

Edit5.Text:=Edit12.Text;

Edit6.Text:=Edit11.Text;

Edit7.Text:=Edit10.Text;

Edit1.Text:=Edit8.Text;

Edit2.Text:=Edit9.Text;

m:=StrToFloat(form1.Edit1.text)+StrToFloat(form1.edit2.Text);

n:=StrToFloat(form1.Edit3.text)+StrToFloat(form1.edit4.Text)+StrToFloat(form1.Edit5.text)+StrToFloat(form1.edit6.Text)+StrToFloat(form1.edit7.Text);

if m=n then

begin

Label24.Visible:=True

end

 else  Label25.Visible:=True;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

var L:real;

begin

L:=StrToFloat(StringGrid2.Cells[0,0])*StrToFloat(stringgrid1.Cells[0,0])+

Информация о работе Метод математического моделирования