МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
/
Звіт
до лабораторної роботи № 3
з курсу: «Методи синтезу та оптимізації»
на тему:
«Особливості розв’язку транспортної задачі»
Мета роботи: ознайомитися з особливостями розв’язування транспортної задачі
1.Короткі теоретичні відомості:
Транспортна задача (модель) відноситься до задач лінійного програмування. Під транспортною моделлю розуміють задачу, яка використовується для вирішення задачі побудови найбільш економічного плану перевозок одного виду продукції з декількох пунктів (для прикладу склади, заводи тощо) в пункти призначення (торгові організації, ті ж склади та ін). Разом з тим, дану модель з успіхом використовують при вирішенні ряду інших задач зокрема: керування запасами, побудови сіткових графіків, призначенням службовців на посади, регулюванні витрат води та ін.
Оскільки транспортна задача відноситься до задач ЛП, то для її розв’язку можна використати симплекс-метод, який розглянуто вище. Однак специфічна структура цієї задачі дозволяє розробити більш простіші та ефективні методи для її вирішення. Хоча, при розв’язку транспортної задачі використовується такий же алгоритм як і при використанні симплекс-методу.
Правило північно-західного кута. Визначення початкового базисного рішення з допомогою правила північно-західного кута починається з того, що змінній / (розміщеній в північно-західному куті транспортної таблиці звідси і пішла назва) присвоюється максимально можливе значення, яке допускають обмеженнями на попит та об’єм виробництва товару. Після цього викреслюють відповідний стовпчик (чи стрічку), для яких виконується обмеження, фіксуючи цим, що змінні даного стовпчика (стрічки) рівні нулю. У випадку виконання обмежень для стовпчика і стрічки можна викреслити або стовпчик, або стрічку. Після того, як попит і об’єм виробництва в усіх викреслених стрічках та стовпчиках приведені до відповідності з встановленим значенням змінної, максимально можливе значення приписується першому невикресленому елементу нового стовпчика (стрічки). Процес завершується, коли залишається один не викреслений стовпчик чи стрічка.
2.Індивідуальне завдання:
Використовуючи симплекс-метод, розв’язати задачу лінійного програмування.
(Варіант 13).
/
2.Результат виконання:
//Транспортна задача
public class lab {
public static void main(String [] args)
{
int sn,dm;
int i,j,sum=0,x[][],fa,fb;
x = new int[10][10];
sn = 3;
dm =4;
int s[] = {40,40,20};//Пункти відправлення
int d[] = {20,30,40,10};//Пункти призначення
int a[][] = {{15,16,15,14},{17,17,15,14},{18,19,16,15}};
i=0;j=0;
for(i=0,j=0;(i<sn)&(j<dm);)
{
if(s[i]<d[j])
{
x[i][j]=a[i][j]*s[i];
d[j]=d[j]-s[i];
i++;
}
else if(s[i]>=d[j])
{
x[i][j]=a[i][j]*d[j];
s[i]=s[i]-d[j];
j++;
}
}
for(fa=0;fa<sn;fa++)
{
for(fb=0;fb<dm;fb++)
{
sum=sum+x[fa][fb];
if(x[fa][fb]!=0)
System.out.print(x[fa][fb]+" ");
}
System.out.println();
}
System.out.println();
System.out.println("Загальна вартість перевезення:"+sum);
}
}
300 320
170 450
160 150
Загальна вартість перевезення:1550
Висновок: на цій лабораторній роботі я ознайомився з основними алгоритмами розв’язку транспортної задачі.