FOLP.posib | R Documentation |
The goal is to solve a linear programming problem having Trapezoidal Fuzzy Numbers
as coefficients in the objective function (f(x)=c_{1}^{f} x_1+\ldots+c_{n}^{f} x_n
).
Max\, f(x)\ or\ Min\ f(x)
s.t.:\quad Ax<=b
FOLP.posib
uses a possibilistic approach. This approach is based on Trapezoidal Fuzzy Numbers
arithmetic, so the whole objective may be considered as a Fuzzy Number itself. Defining a notion of
maximum for this kind of numbers (a weighted average of the minimum and maximum of the support of
the Trapezoidal number).
FOLP.posib(objective, A, dir, b, maximum = TRUE, w1 = 0.5)
objective |
A vector |
A |
Technological matrix of Real Numbers. |
dir |
Vector of strings with the direction of the inequalities, of the same length as |
b |
Vector with the right hand side of the constraints. |
maximum |
|
w1 |
Weight to be used, |
FOLP.posib
returns the solution for the given weights if the solver has found it or NULL if not.
Dubois, D. and Prade, H. Operations in fuzzy numbers. International Journal of Systems Science, 9:613-626, 1978.
FOLP.ordFun
, FOLP.multiObj
, FOLP.interv
, FOLP.strat
## maximize: [0,2,3]*x1 + [1,3,4,5]*x2
## s.t.: x1 + 3*x2 <= 6
## x1 + x2 <= 4
## x1, x2 are non-negative real numbers
obj <- c(FuzzyNumbers::TrapezoidalFuzzyNumber(0,2,2,3),
FuzzyNumbers::TrapezoidalFuzzyNumber(1,3,4,5))
A<-matrix(c(1, 1, 3, 1), nrow = 2)
dir <- c("<=", "<=")
b <- c(6, 4)
max <- TRUE
FOLP.posib(obj, A, dir, b, maximum = max, w1=0.2)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.