Дисциплина:
Раздел:
Выполнил:

Вариационное исчисление

Линейное программирование

ЧГУ, матфак, 4 курс

www.domath.ru

 

Данная работа является дополнением к предыдущей работе. Но мы решили представить её отдельно, так как эта работа главным образом должна научить выводить графические объекты в среде Maple.

Подключим пакеты simplex, plots, plottols.  Первый пакет содержит готовые функции, предназначенные для решения оптимизационных задач. Пакеты plots, plottols предназначены для построения графических объектов.

>    restart;

>   

with(simplex):
with(plottools):
with(plots):

Введем целевую функцию P(x,y) и условия ограничения, накладываемые на P(x,y).

>    P:=x+y;
org:={2*x+3*y<=15,-3*x+4*y<=8,x+3*y>=9};

целевая функция

условия ограничения целевой фуункции

>   

#данная команда решают задачу на минимум

answer:=minimize(P,org,NONNEGATIVE);

 

answer := {x = 12/13, y = 35/13}

Так как данная задача зависит всего лишь от двух параметров x,y, то её решение может быть получено графическим методом. Графический метод в таком случае оказывается наиболее удобным и наглядным.

>   

l0 := arrow([0, 0], [diff(P,x), diff(P,y)], .03, .15, .2):#градиент целевой функции (вектор)

t1 := textplot([7,0.2,`1`],color=green):
#функция текста (содержание текста -`1`) - этот есть подпись множества удовл. первому условию ограничению. [7,0.2,]- коодинаты текст. части
t2 := textplot([5,6,`2`],color=green):
#аналогично для множества удовл. второму условию
t3 := textplot([0.2,3.1,`3`],color=green):
#для третьего ограничения
t4 := textplot([1,2.4,`[x,y]`],color=red):
#для четвёртого ограничения

p:=pointplot(subs(answer,[x,y]),color=red, symbol=circle,symbolsize=20):
#функция графического построения точки

#точка [x,y]=answer есть искомое решение поставленной задачи.
#answer получено в первой работе

 

     

#данная функция изображает

#множество, удовлетв. условиям ограничениям типа org  

>   

l:=inequal( org, x=0..7, y=0..7,optionsexcluded=(color=white,thickness=1) ):


#функция display отображает на одном графике все графические объекты, созданные ранее. Это градиент целевой функции, текс. подписи, множество, удовл. всем условиям ограничений и искомое решение [x,y], выделенн. красным цветом.

display([l,l0,t1,t2,t3,t4,p],color=black);

графический метод решения задачи линейного программирования