XIV Міжнародна наукова інтернет-конференція ADVANCED TECHNOLOGIES OF SCIENCE AND EDUCATION (19-21.04.2018)

Русский English




Научные конференции Наукові конференції

Ромашков М.А. ІНСТРУМЕНТАРІЙ СТУДЕНТА ДЛЯ РОБОТИ З ЗАДАЧАМИ ЛІНІЙНОЇ ОПТИМІЗАЦІЇ ВЕЛИКИХ РОЗМІРІВ

Магістрант Ромашков Микита Андрійович

Дніпропетровський національний університет ім. О. Гончара

ІНСТРУМЕНТАРІЙ СТУДЕНТА ДЛЯ РОБОТИ З ЗАДАЧАМИ ЛІНІЙНОЇ ОПТИМІЗАЦІЇ ВЕЛИКИХ РОЗМІРІВ

Під час роботи над дипломною работою "Ефективні алгоритми знаходження рівноваги в економічних системах та їх програмна реалізація" була створена зручна методологія для проведення експериментів над математичними моделями лінійного програмування великих розмірів.

Головними компонентами програмного забезпечення є програмні пакети Maple та MS Excel. Maple використовується тільки при створенні симплекс-таблиці, в той час як MS Excel може багаторазово використовуватися при подальшому модулюванні.

Загальний вид методології представлений у наступній таблиці:

Номер кроку

Програмний продукт

Опис кроку

1

Maple

Введення формул у символьному вигляді

2

Maple

Розрахунок симплекс таблиці у символьному вигляді

3

Excel

Введення числових коефіцієнтів моделі

4

Excel

Заповнення симплекс таблиці числовими даними

5

Excel

Вирішення задачі лінійного програмування

6

Excel

Аналіз результатів моделювання

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

Це дає можливість студентові набагато швидше і точніше робити наукові дослідження.

Розрахунок символьних коефіцієнтів симплекс-таблиці проводився в Maple у такий спосіб:

1.       Вводилися формули мат. моделі як відображення (або функції) декількох параметром (індексів товару, періоду) у набір алгебраїчних зв'язків між символьними константами (серед яких були як вхідні параметри, так і змінні моделі).

Наприклад, цільова функція:

image002179.gif

задавалася в такий спосіб:

FC(m):= (1 - lambda)*sum(sum(p[i]*y[i,j],j=1..m),i=1..n) - (1 + lambda)* sum(sum(s[i]*x[i,j], j=1.. m),i=1.. n) + A[1](m) - B[1](m) - G[1](m) + H[1](m) -sum(sum(u[i,l], l=1.. w),i=1.. n);

2.       Створюється функція-відображення для заповнення симплекс-таблиці, що для кожного елемента симплекс таблиці видає коефіцієнт як похідну від відповідної функції з шагу 1 по відповідній змінній:

F:=proc(r,c)  

if     r=0 then dE(FC(4),c)

elif  r=1 then dE(E[1](1),c)

elif  r=2 then dE(E[1](2),c) 

elif  r=3 then dE(E[1](3),c)

... , де

dE:=proc(E,c) 

if   c=1 then dE/d x[1,1]

elif c=2  then dE/x[2,1] 

elif c=3  then dE/x[3,1]

...

3.       Створювалася матриця, рівна розмірності матриці обмеженні плюс рядок для цільової функції та заповнюється функцією з шагу 2:

S:=rtable(0..57,1..80,F);

4.       Отримана матриця перетворювалася у формат, придатний для експорту:

S_m:=convert(S,Matrix);

5.       Матриця експортувалася в текстовий файл із роздільниками, що міг бути розпізнаний широким класом програм, що реалізують алгоритми лінійної оптимізації (Mathlab, Mathematica, Excel):

S_m:=convert(S,Matrix);

path:="E:\symbol_matrix";

ExportMatrix(path, S_m);

Є можливість заміняти символи цифрами прямо в Maple 13, але така процедура привела б до відсутності інтерактивності й погіршенню зручності роботи з моделлю, а токож необхідность установленого пакету Maple для досліджень що його не потребують.

Для виконання кроків 1-2 була використана література [1-4].

В MS Excel можна легко імпортувати символьну симплекс-таблицю з текстового файлу, замінити символи на числа за допомогою мови VBA та гарної можливості пакету автоматично перераховувати арифметичні вирази у ячейках в числа.

Для рішення задачі лінійного програмування можна використати потужний компонент "Поиск решения" чи запрограмувати один з методів лінійної оптимізації у середовищі VBA. Для цього буде в нагоді книга [5].

Література:

1. В.Говорухин, Б.Цибулин - Компьютер в математическом исследовании

2. Г.В.Прохоров, М.А.Леденев, В.В.Колбеев - Пакет символьных вычислений maple 5

3. Б.М.Манзон - Maple 5 power edition

4. С.Е.Савотченко, Т.Г.Кузьмичева - Методы решения математических задач в maple, Белгород, 2001

5. Джон Уокенбах - Профессиональное программирование на VBA в Excel 2003, Москва, 2005

 

myown@i.ua


Залиште коментар!

Дозволено використання тегів:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>