Многокритериальная оптимизация
Основные понятия оптимизации проектных решений, ее разновидности: однокритериальная и многокритериальная. Алгоритмический анализ задачи. Описание разработанного приложения. Анализ данных и верификация результатов работы программы, ее эффективность.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 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