
- •Раджух Маин Ахмадович оглавление Лекция 1.Предмет и основные понятия кит …………………………... 1
- •Лекция 2.Информационные технологии обработки абличной информации ……………………………………………………………13
- •Лекция 3.Технологии работы с системой компьютерной математики (скм) maple 34..............................................................
- •1. Понятие информационной технологии
- •2. Составляющие (структура) информационных технологий
- •3. Свойства информационных технологий
- •4. Классификация информационных технологий
- •5. Обработка информации
- •6. Проблемы и перспективы развития информационных технологий
- •Лекция 2 информационные технологии обработки табличной информации
- •Лекция 3 технологии работы с системой компьютерной математики (скм) maple
- •Лекция 4 структурированный язык запросов sql План
- •1989 Год – iso (Международный комитет по стандартизации) опубликовал первый международный стандарт языка sql.
- •1992 Год - версия sql/92 или sql2.
- •1999 Год – стандарт sql3, в который введены новые стандартные типы данных, появилась возможность конструирования сложных структурированных типов данных.
- •Лекция 5 выбор данных из базы План лекции
- •Лекция 6 моделирование задач экономики
- •Лекция 7 поиск оптимальных решений
- •Лекция 8 возможности скм maple для моделирования
- •Лекция 9 управления проектами в ms project
Лекция 8 возможности скм maple для моделирования
План лекции
Построение корреляционно-регрессионных моделей в СКМ Maple
Поиск оптимальных решений в СКМ Maple
Построение корреляционно-регрессионных моделей в СКМ Maple
При использовании системы символьной математики Maple для построения экономико-математической модели выбор вида модели не предопределен разработчиками пакета. СКМ Maple позволяет пользователю произвольно, по своему усмотрению, задавать вид модели и при необходимости оперативно его изменять.
Построить и оценить регрессионную модель в СКМ MAPLE можно с помощью модулей и функций статистической библиотеки stats (таблица 1).
Подключение этой библиотеки осуществляется командой
>with(stats);
Таблица 1. Подбиблиотеки библиотеки stats
Подбиблиотеки |
Описание |
importdata |
импорт данных из файла |
anova |
вариационный анализ |
describe |
cтатистические характеристики |
fit |
аппроксимация данных |
random |
cлучайные значения |
statevalf |
численная оценка данных |
statplots |
графика |
transform |
преобразования данных |
Подбиблиотека Fit
Эта подбиблиотека предназначена для нахождения корреляционных отношений и для аппроксимации данных выбранными зависимостями с использованием метода наименьших квадратов.
Формат:
fit[leastsquare[[x,y]]]([[dataX], [dataY]]);
По умолчанию система приближает зависимость к уравнению прямой линии.
Пример 1. Провести анализ зависимости среднедневной заработной платы, руб. (Y) от среднедушевого прожиточного минимума в день одного трудоспособного, руб. (х). Таблица П1 с исходными данными приведена в Приложении 1 к лабораторной работе №8.
Сеанс работы в Maple:
На первом этапе массивы данных x – среднедушевой прожиточный минимум в день одного трудоспособного и Y – среднедневная заработная плата следует оформить типом statsdata для возможности обработки процедурами и функциями библиотеки stats СКМ Maple:
> restart;
> with(stats);
>X:=[1788,1890,2064,2158,2296,2330,2350,2440,2510,2610,2633,2688,2750,3500,3620,3800];
>Y:=[6000,6000,6600,6600,6800,7500,7420,7580,7550,7785,7855,7700,7963,8500,8560,9100];
Для расчета функциональной зависимости между экспериментальными данными X и Y и возможности ее графического отображения определим функцию пользователя spisok=f(x) c использованием функционального оператора à:
> spisok:=(x,y)->[x,y];
Далее, задав вид модели (например, линейная), рассчитаем коэффициенты уравнения регрессии:
> fit[leastsquare[[x, y]]]([X,Y]);
и приведем полученное уравнение к численному виду:
> f:=evalf(%,4);
Следует отметить, что при определенной ранее функциональной зависимости между независимой и зависимой переменными функция leastsquare[[x,y],y=f(x)] позволяет задавать вид модели по усмотрению разработчика. Если задать, например, квадратичную или кубическую зависимость, можно рассчитать и такие модели:
> eq:=y=z*x^2+b*x+c;
> evalf(fit[leastsquare[[x, y], eq]]([X,Y]),4);
>evalf(fit[leastsquare[[x,y],y=a*x^3+b*x^2+c*x+d]]([X,Y]),7);
Для вычисления описательных характеристик, используемых при анализе статистических данных, можно использовать функцию describe.
Подробнее с этой темой можно ознакомиться в [8, 9].
Поиск оптимальных решений в СКМ Maple
Библиотека Simplex
Если требуется найти переменные, при которых линейная функция многих переменных имеет максимум (или минимум) при выполнении определенных ограничений, заданных в виде линейных равенств или неравенств, то следует использовать симплекс-метод. Этот метод реализован в библиотеке simplex, содержащей алгоритм линейной оптимизации. Библиотека simplex, как и любая другая подключается командой with. Подробнее с функциями этой библиотеки можно ознакомиться в справочной системе СКМ Maple.
Поиск максимума (минимума) функции осуществляется командами maximize (minimize), которые используются в следующем формате:
maximize(expr, opt1, opt2, ..., optn)
minimize(expr, opt1, opt2, ..., optn)
здесь
expr - алгебраическое выражение,
opt1, opt2, ..., optn – параметры оптимизации.
В качестве параметров оптимизации можно указывать в фигурных скобках ограничительную систему неравенств. Поскольку пакет simplex предназначен для решения задач линейной оптимизации, после его загрузки команды maximize и minimize меняют свое действие. Теперь эти команды выдают координаты точек, при которых заданная линейная функция имеет максимум или минимум. При этом допускается дополнительная опция для поиска только неотрицательных решений NONNEGATIVE.
Библиотека Optimization
Эта стандартная библиотека позволяет отыскивать оптимальные решения для задач следующего вида:
линейного программирования LPSolve
квадратического программирования QPSolve
нелинейного программирования NLPSolve
среднеквадратического отклонения LSSolve
Пример 2. Решить задачу линейного программирования, используя библиотеку simplex и библиотеку Optimization.
Фирма производит три вида продукции (A, B, C), для выпуска каждого требуется определенное время обработки на всех четырех устройствах.
Вид продукции |
Время обработки, ч. |
Прибыль, у.е. |
|||
I |
II |
III |
IV |
||
A |
1 |
3 |
1 |
2 |
3 |
B |
6 |
1 |
3 |
3 |
6 |
C |
3 |
3 |
2 |
4 |
4 |
Рассчитать оптимальный план производства, если допустимое время работы на устройствах I, II, III, IV составляет соответственно 84, 42, 21 и 42 часа.
Экономико-математическая модель задачи имеет вид:
Целевая функция: func:=3*A+6*B+4*C.
О
граничения:
1∙А+6∙B+3∙C<=84
3∙A+1∙B+3∙C<=42
1∙A+3∙B+2∙C<=21
2∙A+3∙B+4∙C<=42
A,B,C – неотрицательные (> =0)
A,B,C – целочисленные.
Здесь A,B,C – количество производимой продукции каждого вида.
Приведем решение в системе Maple с использованием библиотеки simplex:
> func:=3*A+6*B+4*C;
> ogran:={1*A+6*B+3*C<=84, 3*A+1*B+3*C<=42, 1*A+3*B+2*C<=21, 2*A+3*B+4*C<=42};
> rez:=maximize(func, ogran, NONNEGATIVE);
> rez:=evalf(rez,3);
> F:=subs(rez,func);
Решение в системе Maple с использованием библиотеки Optimization:
>restart;
>with(Optimization);
[ImportMPS, Interactive, LPSolve, LSSolve, Maximize, Minimize, NLPSolve, QPSolve]
>func:=3*A+6*B+4*C;
3A+6B+4C
>ogran:={1*A+6*B+3*C<=84, 3*A+1*B+3*C<=42, 1*A+3*B+2*C<=21, 2*A+3*B+4*C<=42};
{1A+6B+3C<=84, 3A+1B+3C<=42, 1A+3B+2C<=21, 2A+3B+4C<=42};
>LPSolve(func, ogran, assume={nonnegative, integer}, maximize);
[54., [A=12, B=3, C=0]]
Следует отметить, что библиотека simplex не предусматривает параметра для наложения ограничения целочисленности на переменные. Поэтому результаты оптимизации различаются. Таким образом, при необходимости получения целочисленного решения оптимизационных задач использование библиотеки Optimization предпочтительно.
Пример 3. Решить задачу нелинейного программирования, используя библиотеку Optimization.
Предприятие выпускает два вида продукции. Для изготовления продукции требуется ресурсы трех видов. С учетом брака расход ресурсов на единицу производимой продукции j-го вида определяется выражением: aij+kij xj, а прибыль в зависимости от объемов производства равна рj+ ljxj где
xj– |
искомый объем производства продукции j-го вида, |
aij– |
норма расхода i-го ресурса на производство единицы продукции j-го вида, |
kij– |
коэффициент изменения расхода соответствующего ресурса с учетом выпуска бракованных изделий, |
рj- |
прибыль от единицы продукции j-го вида , |
lj – |
коэффициент изменения прибыли, влияющий на объем производства продукции. |
Требуется найти такие объемы производства продукции, при которых прибыль максимальна.
Исходные данные к задаче приведены в таблице 1.
Таблица 1. Исходные данные
Ресурс(i) |
Запас ресурса |
Норма расхода ресурсов aij на продукцию вида j |
Коэффициент изменения норм расхода ресурсов kij на продукцию вида j |
|||
1 |
2 |
1 |
2 |
|||
1 |
1350 |
15 |
18 |
0,1 |
0,05 |
|
2 |
1400 |
12 |
16 |
0,2 |
0,2 |
|
3 |
1580 |
17 |
14 |
0,1 |
0,15 |
|
Прибыль (ден. ед.) |
100 |
120 |
|
|||
Коэффициент изменения прибыли |
-0,08 |
-0,1 |
|
Составим математическую модель задачи.
При заданных значениях параметров целевая функция имеет вид:
f(x1,x2)=(100-0.8x1)x1+ (120-0.1x2)x2 à max,
или
f(x1,x2)=100x1-0.8x12+120x2-0.1x22 à max.
Ограничения по ресурсам имеют вид:
(15+0.1x1)x1+(18+0.05x2)x2 ≤ 1350
(
12+0.2x1)x1+(16+0.2x2)x2
≤1400
(17+0.1x1)x1+(14+0.15x2)x2 ≤ 1580
или
1
5x1+0.1x12+18x2+0.05x22
≤ 1350
12x1+0.2x12+16x2+0.2x22 ≤ 1400
17x1+0.1x12+14x2+0.15x22 ≤ 1580
X1 ≥ 0, x2 ≥ 0
Поскольку требуется рассчитать объемы производства продукции в усл. ед., ограничение целочисленности не накладывается.
Решение в системе Maple с использованием библиотеки Optimization:
>restart:with(Optimization);
>func:=100*x1-0.08*x1^2+120*x2-0.1*x2^2;
>ogran:={15*x1+0.1*x1^2+18*x2+0.05*x2^2<=1350,12*x1+0.2*x1^2+16*x2+0.2*x2^2<=1400, 17*x1+0.1*x1^2+14*x2+0.15*x2^2<=1580};
>rez:=NLPSolve(func,organ,assume=nonnegative,maximize);
>rez:=evalf(rez,3);
Максимальная прибыль в размере 7220 ден. ед.будет получена при объеме производства продукции первого вида, составляющем 32,6 усл.ед, продукции второго вида 34,7 усл.ед.
Таким образом, используя возможности СКМ Maple можно с успехом рассчитывать экономические модели разных видов.