close

Вход

Забыли?

вход по аккаунту

?

4 laba

код для вставкиСкачать
Московский Авиационный Институт
(Национальный исследовательский университет)
Кафедра 302
ПРОЕКТИРОВАНИЕ АСОИУ
Отчёт по лабораторной работе №4 "Разработка и исследование модели алгоритма формирования плана работы проектной организации"
Выполнили:
Романов И.
Уваров А.
Федоров П.
Группа 03-522.
Приняли:
Романов О. Т.
Машкин М. Н. Москва 2012г.
1. Постановка задачи.
В проектной организации составляется план разработок на период T (t = 1..T месяцев) и известен график поступления денежных средств на выполнение разработок. В начале года поступают заявки на N проектов. Каждый проект характеризуется длительностью выполнения m[n] этапов (длительность 1 этапа проекта - 1 месяц). Также известны затраты на выполнение каждого этапа. По окончанию выполнения n-го проекта организация получает прибыль в размере P[n]. Задача состоит в том, чтобы включить в план те проекты, суммарная прибыль от которых будет максимальна и распределить этапы по месяцам планируемого периода.
Дата начала работы над проектом жестко не задается, этапы проекта не обязательно должны выполняться сразу друг за другом (по месяцам), начиная с начала работы над проектом, но новый этап не может быть выполнен, пока не завершен предыдущий.
2. Формализация задачи.
T - длительность планового периода (t = 1..T)
N - количество проектов (n = 1..N)
B[t] - поступление денежных средств в t-м месяце
M[n] - длительность выполнения n-го проекта (m[n] = 1..M[n])
C [n,m[n]] - денежные затраты на выполнение m-го этапа n-го проекта
P[n] - прибыль от выполнения n-го проекта
X[n,t,m[n]] = {█(1-m-й этап n-го проекта выполняется в t-м месяце @0-m-й этап n-го проекта не выполняется в t-м месяце)┤
Y[n] = {█(1-n-й проект включен в план @0-n-й проект не включен в план)┤
Целевая функция:
Z=max⁡{∑_n▒〖(∑_t▒∑_m▒〖X[n,t,m]〗)/(M[n]*2)*P[n]+Y[n]*(P[n])/2〗}
Ограничения:
1)Сумма затрат на все проекты в t-м месяце не должна превышать финансирование
∑_n▒∑_m▒〖(X[n,t,m]*C[n,m])≤B[t]〗 (t= 1..T)
2)В одном месяце не может выполняться более одного этапа одного проекта
∑_m▒〖X[n,t,m]≤1 (t=1..T, n=1..N)〗
3)Один этап одного проекта не может выполняться более чем в одном ∑_t▒〖X[n,t,m]≤1〗 (m=1..m[n], n=1..N)
4)Этапы выполняются последовательно
{█(∑_t▒∑_(i=1..t)▒〖X[n,i,1]≥ ∑_t▒∑_(i=1..t)▒X[n,i,2] 〗@:@∑_t▒∑_(i=1..t)▒〖X[n,i,M[n]-1]≥ ∑_t▒∑_(i=1..t)▒X[n,i,M[n]] 〗)┤ (n=1..N)
5)Должны быть выполнены все этапы проекта, если он включен в план, или 0, если он не включен.
(∑_t▒∑_m▒〖X[n,t,m]〗)/M[n] -Y[n]= 0 (n=1..N)
Данная задача относится к задачам целочисленного программирования, в частности является задачей булевского программирования, поскольку оптимизационные переменные принимают только значения 0 и 1.
3. Решение задачи с использованием ЭВМ
Исходные данные:
Длительность планового периода: T = 12 месяцев
123456789101112Поступления6807107507408507908308207709009501000
Количество проектов N = 5
Проект 1:
Длительность: 6 месяцев
Прибыль: 2200
Затраты на выполнение проекта по этапам:
123456Затраты380230390210270280
Проект 2:
Длительность: 8 месяцев
Прибыль: 5140
Затраты на выполнение проекта по этапам:
12345678Затраты520320240200370220360340
Проект 3:
Длительность: 5 месяцев
Прибыль: 2840
Затраты на выполнение проекта по этапам:
12345Затраты240250400260270
Проект 4:
Длительность: 6 месяцев
Прибыль: 3000
Затраты на выполнение проекта по этапам:
123456Затраты240200220390210240
Проект 5:
Длительность: 10 месяцев
Прибыль: 6120
Затраты на выполнение проекта по этапам:
12345678910Затраты230380240330380380230310260320
Результаты:
Решим задачу с помощью программы MatLab 8.0.
Поскольку доступна только оптимизация на минимум, коэффициенты в ц.ф. были умножены на -1, соответственно, скорректируем результат, поменяв знак у полученного решения, таким образом:
Оптимальное значение прибыли Zopt = 17100
Оптимизационные переменные Y[n] (включенные в план проекты)
1234501111
План выполнения работ по проекту 1:
Этап/месяц123456789101112100000000000020000000000003000000000000400000000000050000000000006000000000000
План выполнения работ по проекту 2:
Этап/месяц12345678910111211000000000002010000000000300001000000040000001000005000000010000600000000100070000000001008000000000010
План выполнения работ по проекту 3:
Этап/месяц12345678910111210010000000002000100000000300001000000040000010000005000000000001
План выполнения работ по проекту 4:
Этап/месяц123456789101112100000010000020000000100003000000001000400000000010050000000000106000000000001
План выполнения работ по проекту 5:
Этап/месяц12345678910111210100000000002001000000000300010000000040000100000005000001000000600000010000070000000100008000000001000900000000001010000000000001
4. Выводы.
В данной лабораторной работе была составлена задача формирования плана разработок проектной организации в условиях ограниченных ресурсов одного типа (финансовых), определены на содержательном уровне ограничения и критерий оптимизации. Далее была проведена формализация задачи и определение ее типа (задача булевского программирования).
Для решения данной задачи применялся мат. программа MatLab 8.0, в частности пакет Optimization Toolbox. Была составлена и решена задача большой размерности, которую вручную решить невозможно.
3
Документ
Категория
Рефераты
Просмотров
9
Размер файла
103 Кб
Теги
laba
1/--страниц
Пожаловаться на содержимое документа