Линейное программирование

Автор работы: Пользователь скрыл имя, 08 Октября 2013 в 22:16, курсовая работа

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

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

Содержание

Введение 4
1. ОБЩАЯ ЧАСТЬ 5
1.1 Общая задача линейного программирования, применение её для решения различных типов вычислительных задач. 5
1.2.Применение процессора Microsoft Excel для расчета задач линейного программирования 10
1.3. Использование технических и программных средств для решения задач линейного программирования 16
1.3.1.Microsoft Visual Basic 6.0 22
1.3.2 Microsoft Office 24
1.4. Алгоритм нахождения оптимального решения задач линейного программирования 26
2. СПЕЦИАЛЬНАЯ ЧАСТЬ 27
2.1. Задание для курсового проекта 27
2.1.1.Приведение задачи к каноническому виду 28
2.2. Нахождение начального опорного решения (НОР) 29
2.3. Нахождение оптимального решения 30
2.4. Алгоритмы и их описание 33
2.5. Описание программы 42
2.6. Описание процесса отладки программы обработка ошибок программы 44
2.7. Инструкция пользователю 48
3.Заключение 50

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

Курсовой прект матметоды.docx

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

 

Рис 2 Окно «Параметры поиска решения» модуля «Поиск решения»

 

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

«Линейная модель» - служит для ускорения  поиска решения линейной задачи оптимизации. «Показывать результаты итераций» - служит для приостановки поиска решения  для просмотра результатов отдельных  итераций.

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

Данный курсовой проект был написан  на компьютере со следующими характеристиками и использовался следующий комплекс технических средств и ПО ЭВМ: микропроцессор: Intel Pentium Core® 2 Duo

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

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

Кэш – память. Для ускорения доступа к оперативной памяти на быстродействующих компьютерах используется сверхбыстродействующая кэш-память (в нашем случае 2048Kb), которая хранит копии наиболее часто используемых участков оперативной памяти. При обращении микропроцессора к памяти сначала производится поиск нужных данных в кэш-памяти. Поскольку время доступа к кэш-памяти в несколько раз меньше, чем к обычной памяти, среднее время доступа к памяти уменьшается.

Жесткие диски. Накопители на жестком диске (винчестеры) предназначены для постоянного хранения информации, используемой при работе с компьютером: программ операционной системы, часто используемых пакетов программ, редакторов документов, трансляторов с языков программирования и так далее. Из всех устройств для хранения данных жесткие диски обеспечивают наиболее быстрый доступ к данным, высокие скорости чтения и записи данных.

Для пользователя жесткие диски  отличаются друг от друга следующими характеристиками:

    • Емкостью, то есть тем, сколько информации помещается на диске (Емкость данного винчестера – 260 Гбайт)
    • Быстродействием, то есть временем доступа к информации и скоростью чтения и записи информации (7200)
    • Интерфейсом, то есть типом контроллера, к которому должен подсоединяться жесткий диск.(SATAII)

Мониторы: Монитор (дисплей) компьютера предназначен для вывода на экран текстовой и графической информации.

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

Возможность изменения  разрешения экрана определяется используемыми  монитором и видеоадаптером.

Характеристики  монитора:

Тип дисплея: ЖК-монитор  Acer Al1511

Максимальный размер разрешения: 1280 x 1024

Видеокарта: Видеокарта это устройство для вывода графической информации на монитор, прямого кодирования видео сигнала со внешнего источника. (Видеокарта на данном компьютере – NVIDIA GeForce 8800 GTS)

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

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

Программы, работающие на компьютере, можно разделить на три категории:

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

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

На данном персональном компьютере (ПК) используется операционная система  c Windows  XP.

Windows XP - операционная система (ОС) Microsoft, основанная на технологии Windows NT. Это полностью 32-разрядная ОС с приоритетной многозадачностью и улучшенной реализацией работы с памятью.

В этой ОС реализована  поддержка современного оборудования, в частности в состав операционной системы включен усовершенствованный  Диспетчер устройств (Device Manager), с  помощью мастера установки оборудования - Add/Remove Hardware Wizard можно установить новое  оборудование, осуществить его диагностику, произвести отключение как стационарных, так и подсоединяемых в "горячем" режиме устройств; поддержка режима подключения Plug-and-Play (PnP), в котором выполняет автоматическое конфигурирование аппаратуры и "горячее" подключение модулей PC Card, аккумуляторов портативных компьютеров, а также использующих шину USB периферийных устройств. Кроме того, Windows XP поддерживает стандарты DirectX и OpenGL, включает программу дефрагментации диска, новое приложение резервного копирования и утилиту очистки диска, обеспечивает поддержку используемой в Windows 98 файловой системы FAT32 и совместимость файловых стандартов Windows NT и Windows 9x.

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

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

В сетях Windows XP существует целый ряд возможностей: групповые политики (GROUP Police), служба каталогов Active Directory (AD), система централизованной синхронизации данных, реализованная на базе технологии IntelliMirror.

Операционная система Windows XP получила сертификат безопасности Common Criteria. Это свидетельствует о том, что данная ОС является одной из наиболее безопасных и может использоваться для решения многих критически важных задач.

Эта операционная система  обладает универсальной защитой, поскольку  на локальном уровне использует файловую систему Encrypting File System (EFS), на сетевом  уровне - протокол Kerberos, на уровне Internet - защитную инфраструктуру на базе открытых ключей (Public Key Infrastructure, PKI), а на физическом уровне - технологию интеллектуальных карт. Входящий в Windows XP Pro модуль System File Protection (SFP) обеспечивает защиту файлов .sys, .dll, .exe и .ocx. Эта очень полезная функция предотвращает перезапись приложениями ключевых системных файлов их устаревшими или модифицированными версиями и пользователям не приходиться периодически перезагружать компьютер.

Таким образом, Windows XP – самая подходящая операционная система

для студентов.

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

    • Microsoft Office;
    • Microsoft Visual Basic 6.0;

 

 

 

 

 

1.3.1. Microsoft Visual Basic 6.0

в программной части курсового проекта использовался язык программирования Visual Basic, объектная модель ADO.

Среда программирования – позволяет выполнить весь комплекс операций, связанных с составлением программы, работы с ней, и включает:

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

Язык программирования – это инструмент для создания компьютерных программ.

Visual Basic – это программа, характерной  особенностью которой является  возможность создания и использования  самостоятельных компонентов (объектов). VB самый популярный язык программирования. Широкое распространение обеспечивается  его уникальными свойствами:

  • простота;
  • быстрота и легкость создания приложений.

Рабочая среда в Visual Basic называется интегрированной средой разработки или IDE (Integrated development environment), потому что объединяет много различных функций, таких как разработка, редактирование, компиляция и отладка внутри общей среды, в то время как в традиционных средствах разработки программных продуктов каждая функция работает как отдельная функция со своим собственным интерфейсом.

Visual Basic предоставляет большие возможности,  позволяющие конфигурировать рабочую  среду самым удобным образом.  С помощью Visual Basic можно выполнять  различные задачи. Этот язык может  использоваться для несложных,  мало функциональных баз данных  с довольно большими объемами  информации.

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

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

Элементы управления – это объекты, которые содержатся в формах. Каждый тип элемента имеет свой собственный набор свойств, методов и событий, которые делают его наиболее подходящим для определенной цели. Некоторые элементы управления лучше всего использовать для ввода или отображения текста, другие для доступа к приложениям и данным так, будто эти приложения (Word, Excel, и другие) являются частью вашего приложения.

Свойства реализуются посредством  атрибутов, методы – как действия, события – как ответ на что  – либо изменяющееся.

В процессе разработки приложения данного  курсового проекта на форму были помещены следующие элементы управления:

1. Textbox – текстовое поле, которое служит для отображения, ввода и редактирования текста.

2. CommandButton – кнопка, которая служит для инициирования некоторых действий программы после щелчка на ней кнопкой мыши.

  1. Label – надпись, которая служит для отображения текста который пользователь не может изменить.
  2. Option – переключатель.

1.3.2 Microsoft Office

В процессе написания отчета я пользовался некоторыми приложениями пакета прикладных программ Microsoft Office 2003.

Информация о работе Линейное программирование