# Linear optimization with FuzzyLP and crispLP

In previous posts I have demonstrated how to solve linear programs in R using lpSolve – or in Python using SciPy.optimize. In this coding example I want to show how to conduct simple linear optimization using the FuzzyLP package.

FuzzyLP is a package for “fuzzy” linear programming, i.e. linear optimization under uncertainty. In later posts I will show how to conduct fuzzy linear programming using FuzzyLP in R. This post focuses on a simple linear program that can be solved using the standard simplex algorithm.

The problem to solve is stated below in scalar syntax:

This problem can be solved by describing it in vector-matrix syntax, i.e. in the following form:

c is the coefficient vector of the objective function. x is the vector containing the optimization variables. A is the coefficient matrix of the linear constraints and b is the vector containing the constraint values.

In below coding example these vectors and matrices are defined in R and the problem is modelled and solved using crispLP, a function contained by FuzzyLP package. crispLP will solve the problem using the standard simplex algorithm.

``````#install.packages("FuzzyLP")
library(FuzzyLP)``````
``````# define vectors and matrices that describe the problem at hand
c <- c(3,4)
A <- matrix(c(1,1),nrow=1)
dir <- c("<=")
b <- c(1)

# using crispLP from FuzzyLP to solve the problem; since it is a maximization problem "maximum" has to be TRUE
solution <- crispLP(objective = c,
A = A,
dir = dir,
b = b,
maximum = TRUE)``````
``## [1] "Solution is optimal."``
``````# output solution
solution``````
``````##      x1 x2 objective
## [1,]  0  1         4``````