# Welded Beam Goal Programming

# Welded Beam Goal Programming

A beam has to be welded with another and must carry a load F. The major goals include the cost of the beam is at most 5 units and the end deflection of the beam is at most 0.001 inch. The design parameters considered are thickness of the beam, b, width of the beam, t, length of the weld, l, and weld thickness, h. The design constraints are given by:

Mathematical Formulation:

Subjected to:clc; // Objective functions function f=ObjectiveFunction(X) f(1) = (1.10471*X(1)^2*X(2) + 0.04811*X(3)*X(4)*(14+X(2))); f(2) = (2.1952/((X(3)^3)*X(4))); endfunction // Non linear constraints function [C, Ceq]=NLconstraints(X) P = 6000; L = 14; E = 3*10^7; G = 12*10^6; tauMax = 13600; sigmaMax = 30000; M = P*(L+(X(2)/2)); R = sqrt((X(2)^2/4) + ((X(1) + X(3))/2)^2); J = 2*0.7071068*X(1)*X(2)*((X(2)^2/12)+((X(1)+X(3))/2)^2); sigma = (6*P*L)/(X(3)^2*X(4)); Pc1 = (4.013*(sqrt(E*G*(X(3)^2*X(4)^6)/36)))/(L^2); Pc2 = 1-(X(3)/(2*L))*sqrt(E/(4*G)); Pc = Pc1*Pc2; tauPrime = P/(sqrt(2)*X(1)*X(2)); tauDprime = (M*R)/J; tau = sqrt(tauPrime^2 + 2*tauPrime*tauDprime*(X(2)/(2*R))+tauDprime^2); C(1) = tau - tauMax; C(2) = sigma - sigmaMax; C(3) = P - Pc; C = C'; Ceq = []; endfunction // Linear inequality constraints A = [1 0 0 -1]; b = 0; nObj = 2; Aeq = []; beq = []; lb = [0.125 0.1 0.1 0.125]; ub = [5 10 10 5]; nVar = length(lb); // Initial guess to the solver x0 = lb + rand(1,nVar).*(ub-lb); //Specifying the goal and the weights goal=[5 0.001]; weight = [0.75 0.25]; options = list("MaxIter",10000,"CpuTime",10000) // Calling fgoalattain [x,fval,attainfactor,exitflag,output,lambda]=fgoalattain(ObjectiveFunction,x0,goal,weight,A,b,Aeq,beq,lb,ub,NLconstraints,options) // Result representation if exitflag == 0 then disp("Optimal Solution Found") disp(x0,"Initial guess given to the solver") disp(x',"The optimum solution obtained") disp(fval',"The optimum value of the objective functions") elseif exitflag == 1 then disp(" Maximum Number of Iterations Exceeded. Output may not be optimal") else disp("Error encountered") end |

Expected Output:

Maximum Number of Iterations Exceeded. Output may not be optimal. The solution obtained 0.5983 5.0649 3.2989 1.5442 The value of the objective functions 6.6752 0.0396 |