Author: Irina Baek
Steward: Dajun Yue and Fenqi You
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, or an exact value is not critical to the problem. 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.
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 (u), which describes the 'grey spectrum' where constraint violation is permitted 
Continuing with the age analogy - if young ranges from ages 0 to 30, we can define 0 to 18 as being definitely young, so u = 1. However, as we increase the age from there young is not explicitly defined, and can be given lower u values, as these ages are defined as "less young".
Method: Flexible Programming
There are several types of fuzzy programming that can deal with different situations. Flexible programming will be described here. 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:
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"
If the user has a certain objective value they would like to reach, this can be combined and further simplified to:
The two constraints can be combined and the problem is further simplified to:
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:
An optimal solution to this problem can be found by solving
A new variable λ is used to construct an LP that can be solved easily. All membership functions must be greater than or equal to λ
n= m+1, total number of constraints including objective function.
This simple example for Water Resources Management  shows how triangular fuzzy programs can be applied to real life situations. NO1 and NO2 provide water to other nodes, while A1 and A2 are water consumers. The goal of this problem is to calculate the amount of water that should be supplied to A1 and A2 in order to maximize profit while still meeting the given constraints.
This is the linear problem:
The fuzzy problem involves equations 3 and 4 being set as fuzzy triangular numbers, and the minimum amount of water into N3 and N4 become fuzzy values as well.
We proceed to set up our membership functions:
Equation 5 from the LP becomes and Eqn 6 becomes Finally, the objective function becomes
Following the method described for flexible programming, we set up a new LP
 http://www.researchgate.net/profile/Nikolaos_Sahinidis/publication/222687527_Optimization_under_uncertainty_state-of-the-art_and_opportunities/links/5463babb0cf2c0c6aec4f7a8.pdf  http://www.worldacademicunion.com/journal/jus/jusVol01No2paper03.pdf  http://www.ewra.net/ew/pdf/EW_2004_7-8_03.pdf