Difference between revisions of "Fuzzy programming"

From optimization
Jump to: navigation, search
(Flexible programming)
Line 9: Line 9:
  
 
=Logical Reasoning=
 
=Logical Reasoning=
Unlike binary models, where an event is either black or white, fuzzy programming allows for a grey spectrum between the two extremes. As a result, it increases the possible applications since most situations are not bipolar, but consist of a scale of values. A linear function is often used to describe the 'grey spectrum' [1]
+
Unlike binary models, where an event is either black or white, fuzzy programming allows for a grey spectrum between the two extremes. As a result, it increases the possible applications since most situations are not bipolar, but consist of a scale of values. A linear function is often used to describe the membership function that 'grey spectrum' where constraint violation is permitted [1]
  
 
<math>
 
<math>
Line 42: Line 42:
 
</math>
 
</math>
  
If the user has a certain objective value they would like to reach, this can be further simplified to:
+
If the user has a certain objective value they would like to reach, this can be combined and further simplified to:
  
 
<math>
 
<math>
Find x \\  
+
\begin{align}
s.t. c^t x tilde{\ge} z \\
+
Find \; x \\
\; Ax \tilde{\le} b\\
+
s.t. \; & c^t x \tilde{\ge} z \\
& x \tilde{ge} 0
+
& Ax \tilde{\le} b\\
  </math>
+
& x \tilde{\ge} 0
 +
\end{align}
 +
</math>
 +
 
 +
The two constraints can be combined and the problem is further simplified to:
 +
 
 +
<math>
 +
\begin{align}
 +
Find \; x \\
 +
s.t. \; & \hat{A}x \; \tilde{\le} \hat{b} \\
 +
\end{align}
 +
</math>
 +
 
 +
u_o is the membership function for the initial objective while u_i is the membership function for the constraints. These membership functions describe how closely the fuzzy inequalities are satisfied, we can describe the optimal decision to be:
 +
 
 +
<math>
 +
\max \min {u_i(x)} = \max u_o(x)
 +
</math>
 +
 
 +
An optimal solution to this problem can be found by solving
 +
 
 +
<math>
 +
max \; min \; 1- \frac{\hat{A}_i x - b_i}{\Delta b_i}
 +
</math>
 +
 
 +
A new variable λ is used to construct an LP that can be solved easily
 +
 
 +
<math> \max  \lambda \;\;\;\; s.t.  \bar{A} x + \lambda \le \bar{b}, x \ge 0, 0 \le \lambda \le 1 </math>
 +
 
 +
where <math> \bar{A} \; \text{and} \; \bar{b} \; \text{are} \; \bar{a}_ij = \hat{a}_ij/ \Delta b_i  \; \text{and} \; \bar{b}_i = 1 + (\hat(b_i) / \Delta b_i) </math>
  
 
==Possibilistic programming==
 
==Possibilistic programming==

Revision as of 19:01, 7 June 2015

Author: Irina Baek
Steward: Dajun Yue and Fenqi You

Contents

Introduction

Fuzzy programming is one of many optimization models that deal with optimization under uncertainty. This model can be applied when situations are not clearly defined and thus have uncertainty. For example, categorizing people into young, middle aged and old is not completely clear, so overlap of these categories may exist as can be seen in the image below.

Young, middle-aged, and old are not strictly defined categories, and may result in overlap.


Logical Reasoning

Unlike binary models, where an event is either black or white, fuzzy programming allows for a grey spectrum between the two extremes. As a result, it increases the possible applications since most situations are not bipolar, but consist of a scale of values. A linear function is often used to describe the membership function that 'grey spectrum' where constraint violation is permitted [1]


u(x) = 
\begin{cases}
1  & {ax \le b} \\
1- \frac{ax-b}{ \Delta b} & b < ax \le b+ \Delta b \\
0 &  b + \Delta b < ax
\end{cases}

Methods

There are several types of fuzzy programming that can deal with different situations. Flexible programming and possibilistic programming will be described here.

Flexible programming

This type of programming can be applied when there is uncertainty in the coefficient values, and a certain amount of deviation is acceptable. Starting from a typical LP model defined as:


\begin{align}
\max c^t x \\
s.t. \; & Ax \le b \\
& x \ge 0 
\end{align}

We use ~ to identify the fuzzy (or flexible) parameters. By making the inequalities fuzzy, the user of the program can set an approximate goal to minimize/maximize an objective function rather than a completely realistic value. Furthermore, this fuzzy relation can be interpreted as "essentially smaller than or equal" instead of "smaller than or equal"


\begin{align}
\tilde{max} c^t x \\
s.t. \; & Ax \tilde{\le} b \\
& x \ge 0 
\end{align}

If the user has a certain objective value they would like to reach, this can be combined and further simplified to:


\begin{align}
Find \; x \\
s.t. \; & c^t x \tilde{\ge} z \\
& Ax \tilde{\le} b\\
& x \tilde{\ge} 0
\end{align}

The two constraints can be combined and the problem is further simplified to:


\begin{align}
Find \; x \\
s.t. \; & \hat{A}x \; \tilde{\le} \hat{b} \\
\end{align}

u_o is the membership function for the initial objective while u_i is the membership function for the constraints. These membership functions describe how closely the fuzzy inequalities are satisfied, we can describe the optimal decision to be:


\max \min {u_i(x)} = \max u_o(x)

An optimal solution to this problem can be found by solving


max \; min \;  1- \frac{\hat{A}_i x - b_i}{\Delta b_i}

A new variable λ is used to construct an LP that can be solved easily

 \max  \lambda \;\;\;\; s.t.  \bar{A} x + \lambda \le \bar{b}, x \ge 0, 0 \le \lambda \le 1

where  \bar{A} \; \text{and} \; \bar{b} \; \text{are} \; \bar{a}_ij = \hat{a}_ij/ \Delta b_i  \; \text{and} \; \bar{b}_i = 1 + (\hat(b_i) / \Delta b_i)

Possibilistic programming

In possibilistic programming

Applications

Examples

Conclusion

References

[1] http://www.researchgate.net/profile/Nikolaos_Sahinidis/publication/222687527_Optimization_under_uncertainty_state-of-the-art_and_opportunities/links/5463babb0cf2c0c6aec4f7a8.pdf [2] http://www.worldacademicunion.com/journal/jus/jusVol01No2paper03.pdf