The idea of solving multi-objective programming
1. Weighted coefficient method
A weighted coefficient is added to each target, and the multi-objective model is transformed into a single target model. However, it is difficult to determine a reasonable weight factor to reflect the importance of different goals.
2. Priority Level method
The goals are divided into a single target model according to their importance to different priority levels.
3. Effective solution
Seek solutions that are able to take care of the goals and make them happy. Determined by the decision-maker to choose which solution, that is, to obtain a satisfactory solution. But there are too many effective solutions to pick
First, the mathematical model of goal planning
1. Positive and negative deviation variables
2. Absolute constraints and target constraints
(1) Absolute constraint: must meet the requirements, linear programming constraints are
(2) Soft constraint (target constraint): It is in this target value allows a certain positive and negative deviations exist.
3. Priority factor (priority level) and weight coefficient
A planning problem if there are multiple goals, you can specify a priority factor p according to the importance, the more important the more priority.
4. Objective function of target planning
After each target value is determined, the requirement is as small as possible to reduce the deviation. So the objective function can only be, there are three forms
(1) The requirement is exactly the desired value, that is, the positive and negative deviations are small
(2) The requirement does not exceed the target value, the positive deviation is small
(3) The requirement exceeds the target value, the negative deviation is small
5. General mathematical model of goal planning
Second, the sequential model for solving the goal programming
Problem Solving Ideas:
According to priority order, the goal planning problem is decomposed into a series of single goal programming problems. And then solve in turn. (temporarily ignored due to the use of lingo solution)
Three, multi-objective programming MATLAB solution
1. General model
2, MATLAB package function
[X,fval]=fgoalattain ('fun', X0,goal,weight,a,b,aeq,beq,lb,ub,nonlcon)
(1) fun is a target vector function defined with M file
(2) X0 is the initial value, generally get a random column vector
(3) weight is the weight, generally the absolute value of goal
(4) A, B defines inequality constraints a*x<=b,aeq,beq define equality constraints
(5) Nonlcon is a non-linear constraint defined with M file C (x) <=0,ceq (x) =0
(6) Return value, X is the optimal solution, fval is the optimal value
3. Example
function f= Fun(x) F (1) =-*x (1)-*x (2)-*x ( 3) -*x (4); F (2) =3*x (2) +2*x (4);
a=[-1-1 0 0 0 0-1-1 3 0 2 0 0 3 0 2];b=[- -- - - -]';c1=[- -- -- the- -];C2=[0 3 0 2 ]; [X1,G1]=linprog (C1,a,b,[],[],zeros (4,1)) [X2,G2]=linprog (C2,a,b,[],[],zeros (4,1)) G3=[G1;G2]; [X,fval]=fgoalattain (' Fun', Rand (4,1), G3,abs (G3), A,b,[],[],zeros (4,1));
Modeling Algorithms (11)--Target planning