Материалы сайта
Это интересно
Оптимизация режимов движения судов с использованием MATLAB 5.0
Оптимальное распределение шести ресурсов Цель работы. Получение максимального значения прибыли при перевозке шести различных грузов. Исходные данные. x |0 |400 |800 |1200 |1600 |2000 |2400 |2800 |3200 | |f1(x) |0 |80 |100 |110 |120 |180 |210 |230 |260 | |f2(x) |0 |60 |90 |110 |130 |150 |190 |230 |250 | |f3(x) |0 |30 |40 |70 |110 |180 |200 |240 |250 | |f4(x) |0 |40 |60 |80 |130 |160 |180 |210 |240 | |f5(x) |0 |50 |70 |90 |110 |150 |170 |200 |220 | |f6(x) |0 |70 |80 |110 |140 |160 |200 |250 |270 | | f1(x) ( доход от перевозки груза первого рода; f2(x) ( доход от перевозки груза второго рода; f3(x) ( доход от перевозки груза третьего рода; f4(x) ( доход от перевозки груза четвёртого рода; f5(x) ( доход от перевозки груза пятого рода; f6(x) ( доход от перевозки груза шестого рода; x ( количество груза. Программа. %Исходные данные x=[0 400 800 1200 1600 2000 2400 2800 3200]; f1=[0 80 100 110 120 180 210 230 260]; f2=[0 60 90 110 130 150 190 230 250]; f3=[0 30 40 70 110 180 200 240 250]; f4=[0 40 60 80 130 160 180 210 240]; f5=[0 50 70 90 110 150 170 200 220]; f6=[0 70 80 110 140 160 200 250 270]; F=[f1;f2;f3;f4;f5;f6]; plot(x,F),grid %Решение FF=[]; J=1; for XR=1:9; I=1:XR; L=F(J,I)+F(J+1,XR-I+1); [Lopt,I]=max(L); x1=I*400-400; x2=(XR-I)*400; Pacn=[Lopt;x1;x2;x1+x2]; FF=[FF Pacn]; end D=FF(1,:); PP=[]; RRR=[]; for J=2:5; DD=[]; RR=[]; for XR=1:9; I=1:XR; L=D(I)+F(J+1,XR-I+1); [Lopt,I]=max(L); x1=I*400-400; x2=(XR-I)*400; Pacn=[Lopt;x1;x2;x1+x2]; DD=[DD Pacn(1,:)]; RR=[RR Pacn]; end PP=[PP;DD(1,:)]; RRR=[RRR RR]; D=DD; end RRR=[FF RRR] pause plot(x,RRR(1,37:45)),grid Результат. RRR = Columns 1 through 6 0 80 140 170 190 210 0 400 400 400 400 400 0 0 400 800 1200 1600 0 400 800 1200 1600 2000 Columns 7 through 12 240 270 310 0 80 140 2000 400 400 0 400 800 400 2400 2800 0 0 0 2400 2800 3200 0 400 800 Columns 13 through 18 170 200 220 260 320 350 800 1200 1600 400 800 1200 400 400 400 2000 2000 2000 1200 1600 2000 2400 2800 3200 Columns 19 through 24 0 80 140 180 210 240 0 400 800 800 1200 1600 0 0 0 400 400 400 0 400 800 1200 1600 2000 Columns 25 through 30 270 320 360 0 80 140 800 2800 2800 0 400 800 1600 0 400 0 0 0 2400 2800 3200 0 400 800 Columns 31 through 36 190 230 260 290 320 370 800 1200 1600 2000 2400 2800 400 400 400 400 400 400 1200 1600 2000 2400 2800 3200 Columns 37 through 42 0 80 150 210 260 300 0 400 400 800 1200 1600 0 0 400 400 400 400 0 400 800 1200 1600 2000 Columns 43 through 45 330 360 390 2000 2400 2800 400 400 400 2400 2800 3200 В результате получаем матрицу, в которой: - 1 строка ( доход от перевозки i грузов; - 2 строка ( [pic]количества грузов; - 3 строка ( количество i-ого груза; - 4 строка ( суммарное количество грузов. Вывод. Таким образом получена оптимальная зависимость распределения груза с наибольшим доходом от перевозки. Для наглядности по полученным значениям построен график.