Метод аддитивной оптимизации

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,76 Мб
  • Опубликовано:
    2014-10-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Метод аддитивной оптимизации














КУРСОВОЙ ПРОЕКТ

Тема: «Метод аддитивной оптимизации»

Аннотация

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

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

Содержание

Введение

1.   Постановка задачи

1.1 Требования к системе и ее структуре

1.2 Требования к функциям, выполняемым системой

.3 Требования к программно-аппаратному обеспечению

.4 Требования к техническому обеспечению

.5 Требования к эргономике и технической эстетике

.6 Требования к надежности и хранению информации

2.   Основная часть

2.1 Математическая модель

2.2 Метод решения задачи

2.3 Структурная схема программы

.4 Схема взаимодействия модулей

3.   Руководство программисту

.     Руководство пользователя

4.1 Общие сведения

4.2 Работа с помощью

4.3 Наиболее вероятные ошибки

Заключение

Список использованных источников

Приложение А - Текст программы

Приложение Б - Формы программы

Введение

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

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

Данная практика проходилась в компании ООО «Чудо свечи», которая находится по адресу г. Оренбург, Шарлыкское шоссе 5 под руководством заместителя директора по общим вопросам Карасевой Ольги Евгеньевны.

Руководство:

-   Симакова Ольга Александровна - Директор;

-   Рыкунов Сергей Александрович - Главный инженер;

-   Бурцев Анатолий Иванович - Заместитель директора по производству;

-   Карасева Ольга Евгеньевна - заместитель директора по общим вопросам.

Сфера деятельности:

-   производство декоративных свечей;

-   реализация их на рынке;

-   продажа физическим и юридическим лицам.

Территория осуществления деятельности: г. Оренбург.

Контакты:

Электронная почта: avega2007@mail.ru

Юридический адрес: ул. Шарлыкское шоссе 5, г. Оренбург, Оренбургская область, Pоссийская Федерация, 460023

Тел.: (3532) 236-736;

Факс: (3532) 733-123

1. Постановка задачи

Выполнить проектирование программы для предприятия ООО «Чудо свечи» в которой будут вычисляться самые эффективные отделы по производству свечей. Разработать для программы приложение в среде программирования Borland Delphi.

Основные характеристики функциональных задач:

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

ООО «Чудо свечи» - осуществляет свою деятельность в Оренбурге.

Основные виды деятельности «Чудо свечи»:

-   производство декоративных свечей;

-   реализация их на рынке;

-   продажа физическим и юридическим лицам.

Ежемесячно наши дизайнеры обновляют ассортимент выпускаемой продукции. Резная свеча - прекрасный подарок любимому человеку к любому празднику. Мы можем изготовить свечу по вашему индивидуальному заказу для предстоящего юбилея, официального или религиозного праздника, свечу с логотипом вашей компании. Говорят, что лучше один раз увидеть.

1.1 Требования к системе и её структуре

программа аддитивная оптимизация

Для безотказной работы разрабатываемого программного продукта требуется следующее программное обеспечение:

1)   операционная система Windows XP, Vista, 7, Windows максимальная;

)     Borland Delphi 7.

Delphi является средой разработки, используемой, прежде всего для поддержки и разработки приложений, предназначенных как для отдельных рабочих станций, так и для серверов. Delphi может функционировать под управлением операционной системы Windows 95, 98, NT, XP. Отличительными чертами рабочей среды Delphi являются:

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

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

1.2 Требования к функциям, выполняемой системой

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

.3 Требования к программно-аппаратному обеспечению

Требования к программно-аппаратному окружению предполагают наличие на компьютере пользователя операционной системы Windows XP, Vista, 7, Windows Максимальная, а также:

-   ОЗУ 512 Мб и выше;

-       процессор не ниже Pentium IV;

-       не менее 55 Мб свободной памяти на жестком диске;

-    разрешение экрана 1280х1024 и выше;

-       мышь, клавиатура.

.4 Требования к техническому обеспечению

Минимальными системными требованиями для данной задачи могут послужить средства вычислительной техники не ниже:

-     процессор: Pentium IV и выше;

      ОЗУ не меньше 512 Мб;

      видеокарта с памятью не менее 512 Мб;

      CD-ROM;

      монитор;

      ОС: Windows XP, Vista, 7;

      средства Microsoft Office;

-     Delphi 7.

.5 Требования к эргономике и технической эстетике

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

Программа предназначены для работников компании «ООО Чудо свечи». Это налагает на неё ряд требований:

1.      Интерфейс программы простой и понятный для пользователей, содержит помощь, чтобы при возникновении вопроса пользователь мог без труда найти ответ;

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

3.      Использованы стандартные компоненты как, например, кнопки, поля ввода, надписи, что упрощает работу человека с компьютером и программой;

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

.6 Требования к надежности и хранению информации

Одной из важнейших характеристик качества программы является надежность.

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

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

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

2. Основная часть

.1 Математическая модель

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

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

Один из подходов к решению многокритериальных задач управления связан с процедурой образования обобщенной функции Fi(ai1,ai2, …ain), монотонно зависящей от критериев ai1,ai2, …ain. Данная процедура называется процедурой (методом) свертывания критериев. Существует несколько методов свертывания, например метод аддитивной оптимизации.

2.2 Метод решения задачи

Аддитивный критерий оптимальности определяется по формуле (6).

, i = 1,2, …m (6)

где - частные критерии,

- весовые коэффициенты

 (7)

Обобщенная функция цели (6) может быть использована для свертывания частных критериев оптимальности, если:

частные критерии количественно соизмеримы по важности;

частные критерии являются однородными.

Если частные критерии не однородны, т.е. имеют различные единицы измерения, то в этом случае требуется нормализация критериев. Под нормализацией критериев понимается такая последовательность процедур, с помощью которой все критерии приводятся к единому, безразмерному масштабу измерения. Рассмотрим некоторые способы нормализации.

Определим максимум и минимум каждого частного критерия, т.е.

 (8)

  (9)

Выделим группу критериев , , которые максимизируются при решении задачи, и группу критериев ,, которые минимизируются при решении задачи.

В соответствии с принципом максимальной эффективности нормализованные критерии определяются из соотношений (10), (11), (12), (13).

  (10)

  (11)

или  (12)

 (13)

Оптимальным будет тот вариант, который обеспечивает максимальное значение функции цели:

 (14)

В соответствии с принципом минимальной потери нормализованные критерии определяются соотношениями (15), (16), (17), (18).

  (15)

  (16)

или   (17)

 (18)

При этом оптимальным будет тот вариант, который обеспечивает минимальное значение функции цели.

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

Таблица 1 - Данные примера 1

Варианты оборудования

Частные критерии


Производи тельность, д.е.

Стоимость, д.е.

Энергоемкость, у.е.

Надежность, у.е.

Оборудование завода 1

5

7

5

Оборудование завода 2

3

4

7

3

Оборудование завода 3

4

6

2

4

Весовые коэффициенты

0,4

0,2

0,1

0,3


Решение:

1.      Определим mах каждого частного критерия:

   

2.      При решении задачи максимизируются первый (производительность) и четвертый (надежность) критерии, а минимизируются второй (стоимость) и третий (энергоемкость) критерии.

.        Исходя из принципа максимизации эффективности, нормализуем критерии, используя формулы (10), (11):

; ; .

; ; .

;

; .

;

; .

4.      Определим обобщенную функцию цели по каждому варианту, используя формулу (14):


Оптимальным является первый вариант оборудования, т.к. Fmax=F1=0,729.

2.3 Структурная схема программы











Рисунок 1 - Структурная схема программы

2.4 Схема взаимодействия модулей

Рисунок 2 - Схема взаимодействия модулей

3. Руководство программисту

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

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

В процессе работы над программой, были созданы следующие файлы:

1)      код проекта (dpr): является центральным файлом проекта и представляет собой собственно программу. Имя проекта (программы) совпадает с именем файла проекта и указывается при сохранении этого файла на диске, первоначально это имя Project1;

2)      описание формы (dfm): Эти файлы автоматически создаются для каждой формы. Файлы описания форм являются ресурсом Delphi и содержат характеристики форм и их компонентов;

)        модули и модули форм (pas): файл модуля формы содержит описание класса формы. Кроме модулей в составе форм, при программировании можно использовать и отдельные модули, не связанные с какой-либо формой. Они оформляются по обычным правилам языка Object Pascal и сохраняются в отдельных файлах. Для подключения модуля его имя указывается в разделе uses того модуля или проекта, который использует средства этого модуля;

4) параметры проекта (dof): параметры из страниц Compiler и Linker вносятся в файл параметров проекта. Этот файл представляет собой текстовый файл, в котором построчно записаны параметры и их значения;

5)      параметры среды (cfg);

6)      описания ресурсов (res): при первом сохранении проекта автоматически создается файл ресурсов с именем файла проекта. Файл ресурсов может содержать: значки, растровые изображения, курсоры.

Кроме приведенных файлов, автоматически могут создаваться и другие файлы, например, резервные копии файлов: ~dp - для файлов с расширением dpr; ~pa -для файлов с расширением pas.

Главным модулем программы является модуль «Glav», в котором находится меню программы. Это модуль, в котором осуществляется ввод данных, решение задачи, а также сохранение данных. Также отображает таблицу с данными.

4. Руководство пользователя

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

В данном случае конечным пользователем будут являться инженеры, секретарь а также другие сотрудники фирмы «ООО Чудо свечи», которые будут непосредственно работать с программой.

Пользователь, собирающийся работать с данным программным продуктом, должен иметь элементарные навыки работы в операционной системе Windows. Научиться работать с программой поможет «Справка», в которой пользователь может найти описание каждого меню программы и всю последовательность действий для работы с программой.

.1 Общие сведения

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

.2 Работа с помощью

У пользователей данной программы есть возможность использования помощи. Для этого нажимая на вкладку «Помощь», открывается контекстное меню, которое содержит: «О разработчиках», «Помощь».

При нажатии на пункт «Помощь» открывается окно со справкой пользователю, в которой будет описана программа в целом, как с ней работать.


Рисунок 3 - Справка пользователю

При нажатии на пункт «Разработчик» откроется окно с информацией о разработчиках данной программы:

Рисунок 4 - О разработчиках

4.3 Наиболее вероятные ошибки

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

Наиболее часто встречающиеся ошибки: [2] File not found (файл не найден);[0] Unable to invoke Code Completion due to errors in source code (ошибка при компиляции программы);[3] Invalid file name (неверное имя файла).

Заключение

При разработке программы были закреплены навыки, полученные на лекциях по дисциплинам математические методы, математическое программирование, технология разработки программного продукта, объектно-ориентированное программирование, базы данных.

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

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

Список использованных источников

1   Хомоненко А. «Самоучитель Delphi.net» - М: Издательство: BHV, 2011г. - 290 с.

2   Гагарина А. «Основы технологии разработки программных продуктов».Учебное пособие. - М: 2008г.-312 с.

3   Агальцов В.П. Математические методы в программирование. - М., 2012.-218 с.

4   Самарский А.А., Михайлов А.П. Математическое моделирование-ФИЗМАТЛИТ. -М:2013г.- 847 с.

5   Бережная Е.В. Математические методы моделирования.- М.: Финансы и статистика, 2010. - 432 с.

Приложение А

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

program Project1;,_glav in 'Unit_glav.pas' {glav},_proga in 'Unit_proga.pas' {proga},_proga2 in 'Unit_proga2.pas' {Proga2},_ometode in 'Unit_ometode.pas' {ometode},_razrab in 'Unit_razrab.pas' {razrab},_help in 'Unit_help.pas' {help};

{$R *.res}.Initialize;.CreateForm(Tglav, glav);.CreateForm(Tproga, proga);.CreateForm(TProga2, Proga2);.CreateForm(Tometode, ometode);.CreateForm(Trazrab, razrab);.CreateForm(Thelp, help);.Run;.Unit_glav;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Menus, sSkinProvider, sSkinManager;= class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TsSkinManager;: TsSkinProvider;N5Click(Sender: TObject);N1Click(Sender: TObject);N2Click(Sender: TObject);N4Click(Sender: TObject);N7Click(Sender: TObject);N6Click(Sender: TObject);

{ Private declarations }

{ Public declarations };: Tglav;Unit_proga, Unit_proga2, Unit_ometode, Unit_razrab, Unit_help;

{$R *.dfm}Tglav.N5Click(Sender: TObject);;;

Tglav.N1Click(Sender: TObject);.show;;

Tglav.N2Click(Sender: TObject);.show;;

Tglav.N4Click(Sender: TObject);.show;;

Tglav.N7Click(Sender: TObject);.show;;

Tglav.N6Click(Sender: TObject);.show;;.

Unit_help;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TMemo;

{ Private declarations }

{ Public declarations };

: Thelp;

{$R *.dfm}.

Unit_ometode;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, jpeg, ExtCtrls;= class(TForm): TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;: TImage;

{ Private declarations }

{ Public declarations };

: Tometode;

{$R *.dfm}.

Unit_proga;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Grids, ComCtrls, sButton, sLabel, sEdit;= class(TForm): TStringGrid;: TsButton;: TsButton;: TsLabel;: TsLabel;: TsLabel;: TsLabel;: TsEdit;: TsEdit;sButton1Click(Sender: TObject);sButton2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

: Tproga;,y,i,j,n:integer;:Real;,b:array[1..6,1..6] of Real;,F:array[1..6] of Real;

{$R *.dfm}Tproga.sButton1Click(Sender: TObject);:=Strtoint(sEdit1.Text);:=Strtoint(sEdit2.Text);.ColCount:=x+1;.RowCount:=y+2;.Height:=73+(18*(y-2));.Cells[0,y+1]:='Коэффициенты';.Cells[1,0]:='Затраты на сырье';.Cells[2,0]:='Время производства';.Cells[3,0]:='Объем производимой продукции';.Cells[4,0]:='Прибыль';.Cells[0,1]:='Отдел 1';.Cells[0,2]:='Отдел 2';.Cells[0,3]:='Отдел 3';.Enabled:=false;;

Tproga.sButton2Click(Sender: TObject);:=360;i:=1 to x doj:=1 to y do[j,i]:=Strtofloat(StringGrid1.Cells[i,j]);i:=1 to x doj:=1 to y doa[j,i]>mx[i] then mx[i]:=a[j,i];i:=1 to x do:=sr+mx[i];:=sr/x;i:=1 to x do{for i}mx[i]<sr thenj:=1 to y do b[j,i]:=a[j,i]/mx[i]j:=1 to y do b[j,i]:=1-(a[j,i]/mx[i]);; {/for i}i:=1 to x do[i]:=Strtofloat(StringGrid1.Cells[i,y+1]);j:=1 to y doi:=1 to x do[j]:=F[j]+(mx[i]*b[j,i]);:=0;i:=1 to y doF[i]>sr then:=F[i];:=i;;

.Caption:=sLabel3.Caption+floattostr(n)+'='+floattostr(F[n])+' ';.Caption:='Предприятие №'+floattostr(n)+' - наиболее эффективно работающее ';.Enabled:=false;;.

Unit_proga2;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, Grids, ComCtrls, sEdit, sLabel, sButton;= class(TForm): TUpDown;: TUpDown;: TStringGrid;: TsButton;: TsButton;: TsLabel;: TsEdit;: TsEdit;: TsLabel;: TsLabel;: TsLabel;sButton1Click(Sender: TObject);sButton2Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TProga2;,y,i,j,n:integer;:Real;,b:array[1..6,1..6] of Real;,F:array[1..6] of Real;

{$R *.dfm}TProga2.sButton1Click(Sender: TObject);:=286;:=Strtoint(sEdit1.Text);:=Strtoint(sEdit2.Text);.ColCount:=x+1;.Width:=253+(84*(x-2));.RowCount:=y+2;.Height:=73+(18*(y-2));.Cells[0,y+1]:='Коэффициенты';i:=1 to x do.Cells[i,0]:=Inttostr(i);i:=1 to y do.Cells[0,i]:=Inttostr(i);.Enabled:=false;;

TProga2.sButton2Click(Sender: TObject);:=360;i:=1 to x doj:=1 to y do[j,i]:=Strtofloat(StringGrid1.Cells[i,j]);i:=1 to x doj:=1 to y doa[j,i]>mx[i] then mx[i]:=a[j,i];i:=1 to x do:=sr+mx[i];:=sr/x;i:=1 to x do{for i}mx[i]<sr thenj:=1 to y do b[j,i]:=a[j,i]/mx[i]j:=1 to y do b[j,i]:=1-(a[j,i]/mx[i]);; {/for i}i:=1 to x do[i]:=Strtofloat(StringGrid1.Cells[i,y+1]);j:=1 to y doi:=1 to x do[j]:=F[j]+(mx[i]*b[j,i]);:=0;i:=1 to y doF[i]>sr then:=F[i];:=i;;

.Caption:=sLabel3.Caption+floattostr(n)+'='+floattostr(F[n])+' ';.Caption:='Предприятие №'+floattostr(n)+' - наиболее эффективно работающее ';.Enabled:=false;;.

Unit_razrab;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;= class(TForm): TMemo;

{ Private declarations }

{ Public declarations };: Trazrab;

{$R *.dfm}.

Приложение Б

Формы программы

Рисунок 5 - Главное окно программы

Рисунок 6 - Задача предприятия

Рисунок 7 - Решение любой задачи

Рисунок 8 - О методе

Рисунок 9 - Помощь

Рисунок 10 - О разработчиках

Похожие работы на - Метод аддитивной оптимизации

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!