Построение опорного плана поставки газа методом северо-западного угла и методом минимального элемента

Автор работы: Пользователь скрыл имя, 31 Мая 2012 в 18:05, курсовая работа

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

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

Содержание

Введение 4
1. Общая часть 5
1.1. Цель разработки 5
1.2. Анализ использования разработки 5
1.3. Анализ методов решения 6
1.4. Анализ средств программирования 6
1.4.1. Характеристики ПЭВМ 6
1.4.2. Характеристика ПО 8
1.4.3. Обзор средств программирования 9
1.4.4. Характеристика языков программирования 10
2. Специальная часть 13
2.1. Постановка задачи 13
2.2. Экономико-математическая модель 14
2.3. Метод северо-западного угла 15
2.4. Метод минимальной стоимости 17
2.5. Алгоритм решения задачи 20
2.5.1. Алгоритм основной программы 20
2.5.2. Алгоритм процедуры TForm1.Edit1Exit 21
2.5.3. Алгоритм процедуры TForm1.Edit2Exit 22
2.5.4. Алгоритм процедуры TForm1.Button4Click 23
2.5.5. Алгоритм процедуры TForm1.Button3Click1 23
2.5.6. Алгоритм процедуры sevzar 29
2.5.7. Алгоритм процедуры minelem 30
2.6. Описание решения задачи 32
2.6.1. Описание алгоритма основной программы 32
2.6.2. Описание алгоритма процедуры TForm1.Edit1Exit 32
2.6.3. Описание алгоритма процедуры TForm1.Edit2Exit 33
2.6.4. Описание алгоритма процедуры TForm1.Button4Click 33
2.6.5. Описание алгоритма процедуры TForm1.Button3Click1 33
2.6.6. Описание алгоритма процедуры sevzap 34
2.6.7. Описание алгоритма процедуры minelem 35
2.7. Ручной расчет контрольных примеров 36
2.8. Описание процесса отладки программы 51
Заключение 53
Список литературы 54

Прикрепленные файлы: 1 файл

Курсовая.docx

— 786.04 Кб (Скачать документ)

 

Заключение

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

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

Текс программы представлен  в Приложении 1, скриншоты, иллюстрирующие работу программы, - в Приложении 2.

 

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

1. Кузнецов А.В., Сакович В.А., Холод Н.И. Высшая математика: Мат. программирование: Учебник – 2-е изд., переработанное и дополненное – Мн.: Высш. шк., 2001. – 351с.:ил.

2. Кремер Н.Ш. Исследование  операций в экономике. – М:  ООО «Издательство Юнити-Дана», 2000. – 395 с.:ил.

3. Ресурс Интернета: http://www.reshmat.ru/example_transport_4.html.

4. Ресурс Интернета: http://otherreferats.allbest.ru/programming/00034114_0.html.

5. Ресурс Интернета: http://www.grandars.ru/student/vysshaya-matematika/opornoe-reshenie-transportnoy-zadachi.html. 

ПРИЛОЖЕНИЕ 1

Текст программы

unit Unit1;

interface

uses

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

  Dialogs, Grids, StdCtrls, ExtCtrls, unit2, Buttons, jpeg;

type

  TForm1 = class(TForm)

    StringGrid1: TStringGrid;

    StringGrid2: TStringGrid;

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    StringGrid3: TStringGrid;

    StringGrid4: TStringGrid;

    Label3: TLabel;

    Label4: TLabel;

    RadioGroup1: TRadioGroup;

    Button3: TButton;

    Button4: TButton;

    Edit3: TEdit;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Image1: TImage;

    procedure Button4Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Edit1Exit(Sender: TObject);

    procedure Edit2Exit(Sender: TObject);

    procedure Edit2KeyPress(Sender: TObject; var Key: Char);

    procedure Image1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end; 

var

  Form1: TForm1;

  n, m:integer;

  a,b:array [0..100] of integer;

  c, r:array[0..100,0..100] of integer;

implementation

{$R *.dfm}

 

procedure sevzap(stringgrid2:TStringGrid);

var i,j:integer;

begin

for i:=1 to M+1 do

  stringgrid2.Cells[0, i]:='A'+inttostr(i);

for i:=0 to m-1 do

  for j:=0 to n-1 do

  begin

    if (A[i]>B[j]) and (A[i]<>0) and (B[j]<>0) then

    begin

      R[i,j]:=B[j];

      A[i]:=A[i]-B[j];

      B[j]:=0;

      stringgrid2.Cells[j+1,i+1]:=inttostr(R[i,j]);

    end

    else

      if (A[i]<B[j])and (a[i]<>0) and (B[j]<>0) then

      begin

        R[i,j]:=A[i];

        B[j]:=B[j]-A[i];

        A[i]:=0;

        stringgrid2.Cells[j+1,i+1]:=inttostr(R[i,j]);

      end

      else

        if (A[i]=B[j])and (A[i]<>0) and (B[j]<>0) then

          begin

          R[i,j]:=A[i];

          B[j]:=0;

          A[i]:=0;

          stringgrid2.Cells[j+1,i+1]:=inttostr(R[i,j]);

          end;

  end;

end;

 

procedure minelem(stringgrid2:TStringGrid);

var i,j,l,min,mini,minj: integer; 

begin

for i:=1 to m+1 do

  stringgrid2.Cells[0, i]:='A'+inttostr(i);

for l:=1 to m+n-1 do

begin

min:=32767;

for i:=0 to m-1 do

  for j:=0 to n-1 do

  begin

    if (C[i,j]<min) and (A[i]<>0) and (B[j]<>0) then

    begin

      min:=c[i,j];

      mini:=i;

      minj:=j;

    end;

  end;

if (A[mini]>B[minj]) and (A[mini]<>0) and (B[minj]<>0) then

    begin

      R[mini,minj]:=B[minj];

      A[mini]:=A[mini]-B[minj];

      B[minj]:=0;

      stringgrid2.Cells[minj+1,mini+1]:=inttostr(R[mini,minj]);

Информация о работе Построение опорного плана поставки газа методом северо-западного угла и методом минимального элемента