Многокритериальная оптимизация

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 17.02.2013
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

dataGridView4 [3, 2].Value = 100000;

dataGridView4 [4, 2].Value = 110000;

dataGridView4 [0, 3].Value = «Хорошо»;

dataGridView4 [1, 3].Value = «Отлично»;

dataGridView4 [2, 3].Value = «Плохо»;

dataGridView4 [3, 3].Value = «Плохо»;

dataGridView4 [4, 3].Value = «Отлично»;

dataGridView5. RowCount = 4;

dataGridView5. ColumnCount = 5;

dataGridView5 [0, 0].Value = «ST11»;

dataGridView5 [1, 0].Value = «ST12»;

dataGridView5 [2, 0].Value = «ST13»;

dataGridView5 [3, 0].Value = «ST14»;

dataGridView5 [4, 0].Value = «ST15»;

dataGridView5 [0, 1].Value = «Да»;

dataGridView5 [1, 1].Value = «Да»;

dataGridView5 [2, 1].Value = «Да»;

dataGridView5 [3, 1].Value = «Нет»;

dataGridView5 [4, 1].Value = «Да»;

dataGridView5 [0, 2].Value = 150000;

dataGridView5 [1, 2].Value = 150000;

dataGridView5 [2, 2].Value = 120000;

dataGridView5 [3, 2].Value = 200000;

dataGridView5 [4, 2].Value = 110000;

dataGridView5 [0, 3].Value = «Плохо»;

dataGridView5 [1, 3].Value = «Отлично»;

dataGridView5 [2, 3].Value = «Очень хорошо»;

dataGridView5 [3, 3].Value = «Хорошо»;

dataGridView5 [4, 3].Value = «Отлично»;

Preobrazovanie(dataGridView4);

Preobrazovanie(dataGridView5);

// поиск заведома неподходящих альтернатив

k = 0;

for (i = 0; i < dataGridView4. ColumnCount; i++)

{

for (j = 0; j < dataGridView5. ColumnCount; j++)

{

c1 [0, k] = a [0, i];

c1 [1, k] = b [0, j];

if (a [1, i] > b [1, j])

{

c1 [2, k] = b [1, j];

}

else

{

c1 [2, k] = a [1, i];

}

c1 [3, k] = a [2, i] + b [2, j];

c1 [4, k] = a [3, i] + b [3, j];

c1 [5, k] = a1 [1, i] + b1 [1, j];

if (a1 [2, i] > b1 [2, j])

{

c1 [6, k] = b1 [2, j];

}

else

{

c1 [6, k] = a1 [2, i];

}

c1 [7, k] = a1 [3, i] + b1 [3, j];

c1 [8, k] = 1;

k++;

}

}

for (i = 0; i < 25; i++)

{

j = 0; per = 0;

while (j < 25 && per == 0)

{

if (c1 [2, i] > c1 [2, j]) {c1 [8, i] = 0; per = 1;}

if (c1 [3, i] < c1 [3, j]) {c1 [8, i] = 0; per = 1;}

if (c1 [4, i] < c1 [4, j]) {c1 [8, i] = 0; per = 1;}

if (c1 [5, i] > c1 [5, j]) {c1 [8, i] = 0; per = 1;}

if (c1 [6, i] > c1 [6, j]) {c1 [8, i] = 0; per = 1;}

if (c1 [7, i] > c1 [7, j]) {c1 [8, i] = 0; per = 1;}

j++;

}

}

for (int j = 0; j < 25; j++)

{

if (c1 [8, j] == 0)

richTextBox1. Text += «ST1» + c1 [0, j] + «» + «ST2» + c1 [1, j];

}

}

// при нажатии на кнопку реализуется метод иерархий

private void button6_Click (object sender, EventArgs e)

{

dataGridView4. Visible = true;

dataGridView5. Visible = true;

dataGridView3. Visible = false;

dataGridView1. Visible = false;

dataGridView2. Visible = false;

Max1 (dataGridView4);

Max1 (dataGridView5);

Max(dataGridView1);

Max(dataGridView2);

Ves (dataGridView1, dataGridView4);

Ves (dataGridView2, dataGridView5);

PoiskMaxVesa(st1);

PoiskMaxVesa(st2);

dataGridView4. Visible = false;

dataGridView5. Visible = false;

label5. Visible = false;

richTextBox1. Visible = false;

label7. Visible = true;

listBox3. Visible = true;

listBox3. Items. Add («Наилучший станок первого типа ST1» + PoiskMaxVesa(st1).ToString());

listBox3. Items. Add («Наилучший станок второго типа ST2» + PoiskMaxVesa(st2).ToString());

}

// метод для поиска максимального веса, используется в методеанализа иерархий

public int PoiskMaxVesa (float [] a)

{

int k = 0;

float max = a[0];

for (int i = 1; i < a. Length; i++)

{

if (a[i] > max)

{

max = a[i];

}

k = i;

}

return k;

}

// метод для определения весов альтернатив

public void Ves (DataGridView dgv1, DataGridView dgv2)

{

for (int i = 0; i < dgv1. RowCount; i++)

{

for (j = 1; j < dgv1. ColumnCount; j++)

{

dgv1 [j, i].Value = ves[i] * Convert. ToSingle (dgv1 [j, i].Value);

}

}

int i1 = 3;

for (int i = 1; i < dgv2. RowCount; i++)

{

for (j = 0; j < dgv2. ColumnCount; j++)

{

dgv2 [j, i].Value = ves[i1] * Convert. ToSingle (dgv2 [j, i].Value);

}

}

for (int j = 1; j < dgv1. ColumnCount; j++)

{

for (i = 0; i < dgv1. RowCount; i++)

{

st1 [j] = ves[i] * Convert. ToSingle (dgv1 [j, i].Value);

}}

for (int j = 0; j < dgv2. ColumnCount; j++)

{

for (i = 1; i < dgv2. RowCount; i++)

{

st1 [j] = ves[i] * Convert. ToSingle (dgv2 [j, i].Value);

}

}

}

// метод для преобразования иходных данных

public void Max (DataGridView dgv)

{

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

for (int i = 0; i < dgv. RowCount; i++)

{

float max = Convert. ToSingle (dgv[1, i].Value);

for (int j=2; j<dgv. ColumnCount; j++)

if (Convert. ToSingle (dgv[j, i].Value) > max)

{

max =Convert. ToSingle (dgv[j, i].Value);

}

for (int j = 1; j < dgv. ColumnCount; j++)

dgv [j, i].Value= Convert. ToSingle (dgv[j, i].Value)/max;

}

}

// метод аналогичный методу Max, но для второй группы таблиц

public void Max1 (DataGridView dgv)

{

Preobrazovanie1 (dataGridView4);

Preobrazovanie1 (dataGridView5);

float max = Convert. ToSingle (dgv[0, 2].Value);

for (int j = 1; j < dgv. ColumnCount; j++)

if (Convert. ToSingle (dgv[j, 2].Value) > max)

{

max = Convert. ToSingle (dgv[j, 2].Value);

}

for (int j = 0; j < dgv. ColumnCount; j++)

dgv [j, 2].Value = Convert. ToSingle (dgv[j, 2].Value) / max;

}}}

Размещено на Allbest.ru

...

Подобные документы

  • Классификация методов оптимизации. Обзор и выбор языка C#. Алгоритмический анализ задачи, описание алгоритма решения. Графические схемы разработанных алгоритмов. Разработка приложения и результаты тестовых испытаний. Интерфейс пользователя, тестирование.

    курсовая работа [1,6 M], добавлен 08.03.2016

  • Очистка и оптимизация системы на примере CCleaner. Современные операционные системы. Особенности программы CCleaner. Характеристика процесса оптимизации. Скорость работы приложения. Расширенные параметры программы. Надежное затирание данных диска.

    отчет по практике [1,9 M], добавлен 16.04.2014

  • Описание предметной области и структуры базы данных. Экономическая сущность информационных задач, построение диаграмм проекта и обособление проектных решений. Технологическое обеспечение и внешний вид программы, описание её работы и программный код.

    курсовая работа [910,1 K], добавлен 03.04.2015

  • Определения и классификация математических моделей. Возможности системы, распечатка документа MathCAD. Описание математической модели. Анализ исходных данных и результатов. Графическая схема алгоритма и ее описание. Алгоритмический анализ задачи.

    курсовая работа [621,4 K], добавлен 21.01.2013

  • Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.

    курсовая работа [1,2 M], добавлен 16.08.2012

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

    курсовая работа [781,9 K], добавлен 23.02.2016

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

    дипломная работа [1,6 M], добавлен 24.10.2009

  • Назначение базы данных для обеспечения работы автобусного парка. Основные возможности админпанели. Выполняемые базой данных и приложением функции. Инфологическое моделирование данных. Описание разработанного web-приложения. Проектирование базы данных.

    курсовая работа [2,2 M], добавлен 01.02.2013

  • Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.

    курсовая работа [1,0 M], добавлен 16.12.2012

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

    дипломная работа [1,0 M], добавлен 10.07.2017

  • Описание процесса разработки информационной системы. Анализ тестирования и выявления ошибок разработанного модуля. Обследование объекта автоматизации и оформление документации по эксплуатации программы. Сущность экспортирования и импортирования данных.

    отчет по практике [1,3 M], добавлен 20.05.2017

  • Разработка клиентского приложения для работы с базой данных (БД) санатория. Классификации БД и приложений для работы с ними. Алгоритмическое и программное конструирование БД. Описание объектов предметной области, их атрибутов и связей между ними.

    курсовая работа [1,9 M], добавлен 08.01.2014

  • Реализация алгоритма верификации данных; разработка программы обнаружения аномальных данных в одномерных выборках. Характеристика методов D-статистики, Титьена-Мура, диаграммы "Ящик с усами"; обеспечение эффективности оценок статистических данных.

    курсовая работа [2,5 M], добавлен 27.05.2013

  • Общее описание и особенности использования программы, предназначенной для определения нечетных чисел, находящихся в массиве чисел. Листинг и методы оптимизации данной компьютерной программы. Источники оптимизации кода, описание выполненных команд.

    лабораторная работа [17,4 K], добавлен 25.03.2011

  • Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.

    дипломная работа [1,5 M], добавлен 22.03.2018

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

    курсовая работа [537,9 K], добавлен 28.06.2011

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

    курсовая работа [1,3 M], добавлен 26.04.2015

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

  • Понятие линейного программирования и оптимизации. Основы работы в системе MathCAD. Интерфейс пользователя, входной язык и тип данных. Этапы компьютерного математического моделирования. Пример решения оптимизационной задачи средствами программы MathCAD.

    курсовая работа [352,8 K], добавлен 16.10.2011

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

    лабораторная работа [79,0 K], добавлен 17.12.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.