I have 6 linear constraints. I know how to find solution to this problem both by hand and via r. I am looking for an easy way to obtain illustration for a feasible region.
I tried ggplot2 to do so without any success.
Here are the constraints: x1 >= 0, x2 >= 0, x2 <= 10 and the x2 <= 12 - 2/5 * x1, x2 <= 18 - x1, x2 <= 18 - x1
require(ggplot2)
# x2 <= 12 - 2/5*x1
fun1 = function(x1){
x2 = 12 - 2/5*x1
return(x2)
}
# x2 <= 18 - x1
fun2 = function(x1){
x2 = 18 - x1
return(x2)
}
# x2 = 44 - 3*x1
fun3 = function(x1){
x2 = 44 - 3*x1
return(x2)
}
x1 = seq(0,20)
mydf = data.frame(x1, fun1(x1), fun2(x1),fun3(x1),rep(10,length(x1)))
names(mydf) = c('x1','y1','y2','y3','y4')
mydf$y5 = rep(0,length(x1))
p0 = ggplot(mydf, aes(x = x1)) +
coord_cartesian(ylim=c(0,10),xlim = c(0,20))+
geom_line(aes(y = y1), colour = 'blue') +
geom_line(aes(y = y2), colour = 'green') +
geom_line(aes(y = y3), colour = 'red') +
geom_line(aes(y = y4), colour = 'purple') +
geom_line(aes(y = y5), colour = 'black')
p0 + geom_area(aes(y = pmin(y1,y2,y3,y4,y5)), fill = 'gray60')
Thanks for your help!
EDIT: removing last y5 from the pmin function does the trick:
p0 + geom_area(aes(y = pmin(y1,y2,y3,y4,y5)), fill = 'gray60')
My problem was in the last variable
y5. Removing it frompminfunction did the trick.