You are an expert at summarizing long articles. Proceed to summarize the following text: 
let @xmath3 be @xmath1 distinct points in the space @xmath0 , called vertices , and positive numbers @xmath4 , called weights . the function @xmath5 defined by @xmath6 is called the weber function , where @xmath7 denotes the euclidean norm . it is well - known that this function is not differentiable at the vertices , and strictly convex if the vertices are not collinear ( we will assume this hypothesis from now on ) . the weber problem ( also known as the fermat - weber problem ) is to find a point in @xmath0 that minimizes the weighted sum of euclidean distances from the @xmath1 given points , that is , we have to find the solution of the following unconstrained optimization problem : @xmath8 this problem has a unique solution @xmath9 in @xmath0 . the problem was also stated as a pure mathematical problem by fermat @xcite , cavalieri @xcite , steiner @xcite , fasbender @xcite and many others . several solutions , based on geometrical arguments , were proposed by torricelli and simpson . in @xcite historical details and geometric aspects were presented by kupitz and martini . in @xcite weber formulated the problem ( [ equation : unconstrained weber problem ] ) from an economical point of view . the vertices represent customers or demands , the solution to the problem denotes the location of a new facility , and the weights are costs associated with the interactions between the new facility and the customers .    among several schemes to solve the weber location problem ( see @xcite ) , one of the most popular methods was presented by weiszfeld in @xcite . the weiszfeld algorithm is an iterative method based on the first - order necessary conditions for a stationary point of the objective function .    if we define @xmath10 by : @xmath11 the weiszfeld algorithm is : @xmath12 where @xmath13 is a starting point . the weiszfeld algorithm ( [ equation : weiszfeld algorithm ] ) , despite of its simplicity , has a serious problem if some @xmath14 lands accidentally in a vertex @xmath15 , because the algorithm gets stuck at @xmath15 , even when @xmath15 is not the solution of ( [ equation : unconstrained weber problem ] ) . many authors studied the set of initial points for which the sequence generated by the weiszfeld algorithm yields in a vertex ( see @xcite ) . vardi and zhang @xcite derived a simple but nontrivial modification of the weiszfeld algorithm in which they solved the problem of landing in a vertex .    generalizations and new techniques for the fermat - weber location problem have been developed in recent years . in @xcite eckhardt applied the weiszfeld algorithm to generalized weber problems in banach spaces . an exact algorithm for a weber problem with attraction and repulsion was presented by chen et al . in @xcite . kaplan and yang @xcite proved a duality theorem which includes as special cases a great variety of choices of norms in the terms of the fermat - weber sum . in @xcite carrizosa et al . studied the so called regional weber problem , which allows the demand not to be concentrated onto a finite set of points , but follows an arbitrary probability measure . in @xcite drezner and wesolowsky studied the case where different @xmath16 norms are used for each demand point . in @xcite the so called complementary problem ( the weber problem with one negative weight ) was studied by jalal and krarup , and geometrical solutions were given . in @xcite drezner presented a weiszfeld - like iterative procedure and convergence is proved if appropriate conditions hold .    in some practical problems it is necessary to consider barriers ( forbidden regions ) . barriers were first introduced to location modeling by katz and cooper @xcite . there exist several heuristic and iterative algorithms for single - facility location problems for distance computations in the presence of barriers ( see @xcite ) . in @xcite pfeiffer and klamroth presented a unified formulation for problems with barriers and network location problems . a complete reference to barriers in location problems can be found in @xcite . barriers can be applied to model real life problems where regions like lakes and mountains are forbidden .    on the other hand , there are location problems whose solution needs to lie within a closed set . for example , see @xcite for a discussion of the case when the solution is constrained to be within a maximum distance of each demand point . drezner and wesolowsky @xcite studied the problem of locating an obnoxious facility with rectangular distances ( @xmath17 norm ) , where the facility must lie within some prespecified region ( linear constraints ) . a primal - dual algorithm to deal with the constrained fermat - weber problem using mixed norms was developed in @xcite by idrissi et al .. in @xcite hansen et al . presented an algorithm for solving the weber problem when the set of feasible locations is the union of a finite number of convex polygons . in @xcite pilotta and torres considered a weber location problem with box constraints . constrained weber problems arise when we require that the solution is in an area ( feasible region ) determined by , for example , environmental and/or political reasons . it could be the case for a facility producing dangerous materials that must be installed in a restricted ( constrained ) area . another example could be the location of a plant in an industrial zone or of a hospital in a non - polluted area .    in this paper a constrained location problem is considered . an algorithm is proposed to solve the following problem : @xmath18 where @xmath19 is a closed and convex set , generalizing the problem formulated in @xcite . problem ( [ equation : constrained weber problem ] ) could be seen as a nonlinear programming problem and solved by standard solvers , but they may fail since the weber function is not differentiable at the vertices . it can be proved that problem ( [ equation : constrained weber problem ] ) has a unique solution @xmath20 , since the function @xmath21 is strictly convex and @xmath19 is a closed and convex set . on the other hand , it is well - known that the convex hull of the given vertices @xmath3 contains the solution @xmath9 of the unconstrained weber problem ( see for instance @xcite ) . if @xmath19 contains the convex hull , both solutions @xmath20 and @xmath9 agree . in other cases , the solution @xmath20 is not necessarily a projection of @xmath9 over @xmath19 ( see @xcite ) . the algorithm is based basically on a slight variation of an orthogonal projection of the weiszfeld algorithm presented in @xcite , that is well defined even when an iterate coincides with a vertex . properties of the sequence generated by the proposed algorithm related with the minimization problem [ equation : constrained weber problem ] will be proved in the following sections . the paper is structured as follows : section [ section : the modified weiszfeld algorithm ] describes the results in @xcite in which a modified weiszfeld algorithm is presented and some notation is introduced . in section [ section : the proposed algorithm ] the proposed algorithm is defined . section [ section : some definitions and technical results ] is dedicated to definitions and technical lemmas . in section [ section : convergence results ] the main results about convergence to optimality are presented . numerical experiments are considered in section [ section : numerical experiments ] . finally , conclusions are given in section [ section : conclusions ] . some words about notation . as it was mentioned , we will call @xmath9 the solution of problem ( [ equation : unconstrained weber problem ] ) and @xmath20 the solution of problem ( [ equation : constrained weber problem ] ) . the symbols @xmath22 and @xmath23 will refer to the standard euclidean norm and standard inner product in @xmath0 , respectively . for a function @xmath24 we will denote by @xmath25 the left - hand side derivative at @xmath26 , and by @xmath27 the right - hand side derivative at @xmath26 . this section reviews the main results presented in @xcite in which the authors generalize the weiszfeld algorithm for the case that an iterate lands on a vertex . from now on , this algorithm will be referred to as the modified weiszfeld algorithm .    in order to make notation easier , we define the function @xmath28 by : @xmath29 notice that @xmath30 for all @xmath31 . in @xcite , the number @xmath32 was called @xmath33 .    a generalization for the iteration function @xmath34 , defined in ( [ equation : weiszfeld iteration function ] ) , is given by @xmath35 defined as follows : @xmath36 notice that @xmath37 coincides with @xmath38 in @xmath39 . let @xmath40 and @xmath41 be : @xmath42 the function @xmath43 generalizes the negative gradient of the weber function since , for all @xmath44 , @xmath45    the following lemma is very easy to prove ( see ( * ? ? ? * equation ( 14 ) ) ) , and it relates the functionals @xmath37 and @xmath43 . [ lemma : widetilder equal to 2a(widetildet - x ) ] for all @xmath31 we have @xmath46 $ ] . if we define @xmath47 by : @xmath48 we can see that @xmath49 for all @xmath31 .    the modified weiszfeld algorithm presented in @xcite is defined by : @xmath50 where @xmath13 and @xmath51 is given by : @xmath52 where @xmath53 is defined by @xmath54 . [ remark : properties of beta ]    1 . if @xmath44 , then @xmath55 because @xmath56 . so , we can deduce that @xmath57 . notice that this fact implies that the functional @xmath58 is continuous in @xmath39 . it can be seen that if @xmath59 , then @xmath60 ( see @xcite ) . 3 .   from equation ( [ equation : iteration function of the modified algorithm with beta ] ) we obtain that @xmath61 for @xmath31 . the main result in @xcite is :    [ theorem : main result of modified weiszfeld algorithm ] the following propositions are equivalent :    1 .   @xmath62 . 2 .   @xmath63 . @xmath64 .    where @xmath65 this section is dedicated to describe the proposed algorithm , introducing some definitions and remarks . first of all , we can notice that problem ( [ equation : constrained weber problem ] ) has a unique solution , due to the fact that @xmath21 is a non - negative , strictly convex , and continuous function , @xmath66 and @xmath19 is closed and convex .    in order to define the proposed algorithm at the vertices , we will need to determine which points of the segment that joins @xmath15 and @xmath67 are in the feasible set @xmath19 . if @xmath68 , let the set @xmath69 be defined by : @xmath70 : ( 1 - \lambda ) t(a^k ) + \lambda a^k \in \omega \right\}.\ ] ] notice that @xmath69 could be equal to the empty set in case that @xmath15 and @xmath67 do not belong to @xmath19 . on the other hand , if @xmath71 , then @xmath72 , which means that @xmath73 . thus , we can define : @xmath74 in case a vertex @xmath15 is not in @xmath19 , there is no need to define the number @xmath75 .    in the following lemma , a set of basic properties of @xmath75 are listed :    [ lemma : properties of lambda(a^k ) ] if @xmath68 and @xmath71 then :    1 . @xmath76 $ ] . 2 .   if @xmath77 then @xmath78 . 3 .   if @xmath79 then @xmath80 $ ] . the proof of ( a ) follows from the definition of @xmath69 . if @xmath77 , then @xmath81 , so @xmath82 , and this proves ( b ) . finally , for item ( c ) , let us consider that @xmath79 . since @xmath19 is a closed set , there is an entire ball centered at @xmath67 that does not intersect @xmath19 , which implies that there exists @xmath83 such that @xmath84 for all @xmath85 $ ] . thus , @xmath86 $ ] and this concludes the proof . let us call @xmath87 the orthogonal projection over @xmath19 . since @xmath19 is a nonempty , closed and convex set , the operator @xmath88 is a continuous function @xcite . we define the iteration function @xmath89 by : @xmath90 there will be no need to define @xmath2 outside @xmath19 since the proposed algorithm generates a sequence of feasible points . the iteration function @xmath2 at @xmath91 coincides with the orthogonal projection of @xmath92 over the feasible set when @xmath93 is different from the vertices . only when @xmath93 is a vertex @xmath15 belonging to @xmath19 , @xmath94 is defined as the farthest possible feasible point of the segment that joins @xmath93 with @xmath92 . the following remark states some basic properties of the iteration function of the proposed algorithm . [ remark : properties of q ]    if @xmath71 and @xmath77 , then @xmath95 . if @xmath71 , it can be seen that : @xmath96    the functional @xmath2 is continuous in @xmath39 . the proofs of ( a ) and ( b ) are straightforward . for ( c ) , since @xmath88 is continuous in @xmath0 ( see @xcite ) and @xmath58 is continuous in @xmath39 ( see remark [ remark : properties of beta ] ) , we have that @xmath2 is continuous in @xmath39 . the proposed algorithm is described below . [ algorithm : proposed algorithm ] let @xmath97 be a closed and convex set . assume that @xmath98 is an initial approximation such that @xmath99 for all @xmath100 and @xmath101 . given @xmath102 a tolerance and @xmath103 , do the following steps to compute @xmath14 :    * step 1 : * compute : @xmath104    * step 2 : * stop the execution if @xmath105 and declare @xmath14 as solution to the problem ( [ equation : constrained weber problem ] ) . otherwise return to step 1 .    from the definition of @xmath2 it follows that algorithm [ algorithm : proposed algorithm ] generates a sequence of feasible iterates . also notice that if there are vertices in the feasible set , @xmath106 can be one of them , for example , a vertex @xmath107 such that @xmath108 for all @xmath101 . on the other hand , if there are no vertices in the feasible set , @xmath106 can be chosen as the projection over @xmath19 of the null vector . the purpose of this section is to define some entities and prove technical lemmas that will be important in the proof of the main results . first of all , we will define some useful operators for making notation easier . if @xmath109 , then we define @xmath110 and @xmath111 by : @xmath112 notice that , when @xmath113 , @xmath114 is not necessarily a norm and @xmath115 is not necessarily an inner product .    according to this definition , if @xmath116 and @xmath117 are sets such that @xmath118 and @xmath119 , it can be seen that : @xmath120    for @xmath91 , let us define the following sets of indices : @xmath121 notice that for all @xmath31 we have that @xmath122 and @xmath123 . let @xmath124 be the following function :    * if @xmath44 : @xmath125.\ ] ] * if @xmath126 for some @xmath68 : @xmath127.\ ] ]    it can be seen that the function @xmath128 is related to the iteration function @xmath2 of the proposed algorithm , and the iteration function @xmath58 of the modified algorithm . [ lemma : properties of alpha ] if @xmath91 , then @xmath129.$ ]    if @xmath44 , then : @xmath130 = \sum_{j=1}^m \frac { w_j q(x ) } { \| x - a^j \| } - \sum_{j=1}^m \frac { w_j a^j } { \| x - a^j \| }   \\ & & \\ & = & \left ( \sum_{j=1}^m \frac { w_j } { \| x - a^j \| } \right ) \left [ q(x ) - \frac { \sum_{j=1}^m \frac { w_j a^j } { \| x - a^j \| } } { \sum_{j=1}^m \frac { w_j } { \| x - a^j \| } }   \right ] = 2 a(x ) \left [ q(x ) - \widetilde{t}(x ) \right ]   \\ & & \\ & = & 2 a(x ) \left [ q(x ) - t(x ) \right].\end{aligned}\ ] ] where in the last equalities we have used the definition of @xmath37 as in ( [ equation : generalized weiszfeld iteration function ] ) , and the fact that @xmath131 due to remark [ remark : properties of beta ] . if @xmath132 for some @xmath68 , we follow a similar procedure than in the previous case . now , we will define auxiliary functions that take into account the projection @xmath88 in order to prove a descent property of @xmath21 ( see next sections ) . if @xmath91 , we define :    1 . @xmath133 , where : @xmath134 2 . if @xmath135 define @xmath136 where : @xmath137    a useful property of @xmath138 , that follows from the definition , is pointed out in the following remark .    [ remark : ex o q = q ] if @xmath91 then @xmath139 . the iteration function @xmath2 inherits an important property from the orthogonal projection @xmath88 . [ lemma : property of q ] if @xmath91 we have that @xmath140 . if @xmath44 , then @xmath141 . by a property of the orthogonal projection @xcite we have that @xmath142 . if @xmath132 for some @xmath68 , remark [ remark : properties of q ] and lemma [ lemma : properties of lambda(a^k ) ] imply : @xmath143 and this concludes the proof . the next technical lemma will help us to save computations in other lemmas . [ lemma : norm of q - aj ] if @xmath91 , @xmath116 is a subset of @xmath144 and @xmath100 , then : @xmath145    if @xmath91 , we have : @xmath146    if @xmath91 , let us define @xmath147 by : @xmath148 the values that @xmath149 assumes at @xmath93 and @xmath94 will play an important role in the proof of a property of the objective function @xmath21 . [ lemma : property of gx(x ) ] let @xmath91 be .    1 .   if @xmath44 then : @xmath150 2 . if @xmath132 for some @xmath68 , then @xmath151 .    let us suppose that @xmath44 . by property ( [ equation : property norma ] ) and ( [ equation : definition of ex ] ) , we have for @xmath152 : @xmath153 using lemma [ lemma : norm of q - aj ] , we can see that : @xmath154.\end{aligned}\ ] ] due to ( [ equation : property norma ] ) , the definition of the weber function @xmath21 , the definition of @xmath155 as in ( [ equation : weight function ] ) , the property ( [ equation : property cinnerproda ] ) and the definition of @xmath128 as in ( [ equation : definition of alpha1 ] ) , we obtain : @xmath156 by lemma [ lemma : properties of alpha ] , the fact that @xmath157 for all @xmath158 and ( [ equation : property innerproda ] ) , we get : @xmath159 which concludes the proof of ( a ) . now , let us assume that @xmath132 for some @xmath68 . then : @xmath160 this concludes the proof of ( b ) . the number @xmath161 can be computed in the next lemma . [ lemma : property of gx(qx ) ] let @xmath91 be .    1 . if @xmath44 then : @xmath162 2 .   if @xmath132 for some @xmath68 , then @xmath163    first , let us consider @xmath44 . due to remark [ remark : ex o q = q ] we have : @xmath164 by lemma [ lemma : norm of q - aj ] we obtain : @xmath165.\end{aligned}\ ] ] due to the definition of the weber function @xmath21 , the definition of @xmath155 as in ( [ equation : weight function ] ) and the definition of @xmath128 as in ( [ equation : definition of alpha1 ] ) , we deduce that : @xmath166 by lemma [ lemma : properties of alpha ] we get : @xmath167 concluding the proof of ( a ) . now , consider @xmath132 for some @xmath68 . due to ( [ equation : definition of gx ] ) we have : @xmath168 by lemma [ lemma : norm of q - aj ] , the definition of the weber function @xmath21 and the definition of @xmath155 as in ( [ equation : weight function ] ) we obtain : @xmath169 \right\rangle   \\ & + & w_k \| q(a^k ) - a^k \|.\end{aligned}\ ] ] manipulating algebraically , @xmath170 due to the definition of @xmath128 ( see ( [ equation : definition of alpha2 ] ) ) and the definition of @xmath43 ( see ( [ equation : definition of widetilder ] ) ) we get : @xmath171 by lemma [ lemma : widetilder equal to 2a(widetildet - x ) ] and lemma [ lemma : properties of alpha ] we have : @xmath172 which concludes the proof .    the next lemma deals with the last two terms of @xmath173 . [ lemma : property of something equal to zero ] if @xmath71 for some @xmath68 , the number @xmath174 is equal to zero .    if @xmath175 the result is true so , from now on , let us consider that @xmath176 . first , let us check that @xmath59 . in case that @xmath177 , then @xmath178 by theorem [ theorem : main result of modified weiszfeld algorithm ] . since @xmath71 , then @xmath77 . by remark [ remark : properties of q ] we have that @xmath179 which is a contradiction .    by remark [ remark : properties of beta ] , we have that @xmath180 ( since @xmath59 ) and : @xmath181 extracting common factors , using remarks [ remark : properties of beta ] and [ remark : properties of q ] , the fact that @xmath182 ( if @xmath178 then @xmath177 by theorem [ theorem : main result of modified weiszfeld algorithm ] ) , and the fact that @xmath183 ( if @xmath184 then @xmath178 by definition ( [ equation : iteration function of the modified algorithm with beta ] ) ) we get that : @xmath185.\end{aligned}\ ] ] simplifying and using the definition of @xmath186 we have that : @xmath187 = 0,\ ] ] which concludes the proof . the purpose of the next two lemmas is to determine a strict inequality between the functions @xmath149 and @xmath21 at suitable points . first of all , we have to prove the following result . [ lemma : comparison between gxqx and gxx ] let @xmath91 be such that @xmath188 .    1 .   if @xmath44 , then @xmath189 . besides that , if @xmath190 and @xmath191 , then @xmath192 . 2 .   if @xmath132 for some @xmath68 , then @xmath193 .    if @xmath44 , then @xmath194 , by lemma [ lemma : property of gx(x ) ] and lemma [ lemma : property of gx(qx ) ] . besides that , if @xmath190 and @xmath191 we deduce that @xmath195 . thus , @xmath192 . if @xmath132 for some @xmath68 , by lemmas [ lemma : property of gx(x ) ] , [ lemma : property of gx(qx ) ] and [ lemma : property of something equal to zero ] we have : @xmath196 due to lemma [ lemma : property of q ] and the fact that @xmath197 we obtain : @xmath198 and the proof is finished . [ lemma : property gxqx < fx/2 ] let @xmath91 be such that @xmath188 . then @xmath199 . let us consider the case when @xmath44 . by lemmas [ lemma : property of q ] , [ lemma : property of gx(x ) ] and [ lemma : comparison between gxqx and gxx ] we have that : @xmath200 if @xmath201 , then @xmath202 . therefore : @xmath203 if @xmath190 and @xmath204 , then there exists an index @xmath205 such that @xmath206 since @xmath188 . thus , @xmath207 , which implies : @xmath208 if @xmath190 and @xmath191 , due to lemmas [ lemma : property of q ] , [ lemma : property of gx(x ) ] and [ lemma : comparison between gxqx and gxx ] , we have that : @xmath209    now , when @xmath132 for some @xmath68 , @xmath210 due to lemma [ lemma : property of gx(x ) ] and lemma [ lemma : comparison between gxqx and gxx ] . the next lemma states an equality that relates the weber function and @xmath149 at appropriate points when @xmath44 . besides that , this result will be crucial in the next section . [ lemma : equality of gxqx ] let @xmath44 be such that @xmath91 and @xmath188 . then : @xmath211    due to the definition of @xmath149 as in ( [ equation : definition of gx ] ) and remark [ remark : ex o q = q ] we get that : @xmath212 adding and subtracting @xmath213 we have : @xmath214 ^ 2   \\ & = & \frac{1}{2 } \sum_{j=1}^m w_j \left\| x - a^j \right\| + \sum_{j=1}^m w_j \left ( \left\| q(x ) - a^j \right\| - \left\| x - a^j \right\| \right )   \\ & + & \sum_{j=1}^m \frac { w_j } { 2 \| x - a^j \| } \left ( \left\| q(x ) - a^j \right\| - \left\| x - a^j \right\| \right)^2.\end{aligned}\ ] ] notice that the first term of the last equality is the weber function ( divided by two ) , and the last term is a non - negative number , so we will define it as @xmath215 . so , using the definition of the weber function in the middle term we obtain : @xmath216 this section states the main results about convergence of the sequence @xmath217 generated by algorithm [ algorithm : proposed algorithm ] . the next theorem establishes that if a point @xmath91 is not a fixed point of the iteration function , then the function @xmath21 strictly decreases at the next iterate . [ theorem : descent property ] let @xmath91 be such that @xmath188 . then @xmath218 . let us consider that @xmath44 . by lemma [ lemma : property gxqx < fx/2 ] , we have that : @xmath219 by lemma [ lemma : equality of gxqx ] we get that : @xmath220 simplifying the last expression we obtain : @xmath221 finally , @xmath222 therefore , @xmath218 .    now , consider that @xmath132 for some @xmath68 . following a reasoning similar than in @xcite , using lemma [ lemma : comparison between gxqx and gxx ] we have that : @xmath223 by definition of @xmath224 we know that : @xmath225 using the fact that @xmath226 for @xmath227 and @xmath228 we obtain that : @xmath229 rearranging terms we deduce that : @xmath230 and the proof is complete . [ corollary : not increasing sequence ] let @xmath217 be the sequence generated by algorithm [ algorithm : proposed algorithm ] . then the sequence @xmath231 is not increasing . even more , each time @xmath232 the sequence strictly decreases at the next iterate . if the sequence @xmath217 generated by algorithm [ algorithm : proposed algorithm ] were not bounded , then we could choose a subsequence @xmath233 such that @xmath234 . but this implies that @xmath235 , which is a contradiction since the sequence @xmath231 is not increasing . the sequence @xmath217 generated by algorithm [ algorithm : proposed algorithm ] is bounded . so , there exists a subsequence convergent to a point @xmath236 . hence , @xmath20 is a feasible point .    due to the nondifferentiability of @xmath21 at the vertices @xmath3 , we can not use the kkt optimality conditions at @xmath15 . therefore , if @xmath15 and @xmath237 are in @xmath19 , let us define @xmath238 \rightarrow \mathbbm{r}$ ] by : @xmath239 if @xmath71 , @xmath240 , @xmath241 $ ] and @xmath19 convex , we have that @xmath242 . notice that the right - hand side derivative @xmath243 ( or the directional derivative of @xmath21 in the direction of @xmath237 ) exists ( see @xcite ) . besides that , @xmath244    the next lemma shows that if we are in a vertex @xmath15 , the directional derivative of @xmath21 at @xmath15 in the direction of @xmath245 is a descent direction . [ lemma : property of a^k as a minimum ] let @xmath71 be such that @xmath79 . then : @xmath246,\ ] ] where : @xmath247 a(a^k ) \left\| \widetilde{t}(a^k ) - a^k \right\| \left\| q(a^k ) - a^k \right\|.\ ] ]    if @xmath178 then @xmath77 , which is a contradiction . besides that , if @xmath184 , we would have that @xmath178 because of ( [ equation : iteration function of the modified algorithm with beta ] ) , and again it would be a contradiction . so , we will consider @xmath183 and @xmath182 for the rest of the proof . since @xmath182 , then @xmath180 ( see remark [ remark : properties of beta ] and theorem [ theorem : main result of modified weiszfeld algorithm ] ) . let us prove equation ( [ equation : property of a^k as a mininum 2 ] ) first . now , by ( [ equation : property of gakzp ] ) we can see that : @xmath248 notice that if @xmath175 , equation ( [ equation : property of a^k as a mininum 2 ] ) holds . so , let us consider from now on that @xmath176 . by using lemma [ lemma : widetilder equal to 2a(widetildet - x ) ] we replace @xmath249 and get : @xmath250 extracting common factors and using the definition of @xmath251 when it belongs to @xmath252 we obtain : @xmath253.\end{aligned}\ ] ]    by remarks [ remark : properties of beta ] and [ remark : properties of q ] the vectors @xmath254 and @xmath255 are parallel , so : @xmath256.\ ] ] which is equivalent to ( [ equation : property of a^k as a mininum 2 ] ) . now , let us prove ( [ equation : property of a^k as a mininum 1 ] ) . if @xmath257 then @xmath258 for all @xmath241 $ ] , thus @xmath259 , and therefore the inequality ( [ equation : property of a^k as a mininum 1 ] ) holds . so , let us assume that @xmath260 for the rest of the proof . using ( [ equation : property of gakzp ] ) and due to lemma [ lemma : widetilder equal to 2a(widetildet - x ) ] to replace @xmath249 : @xmath261 extracting common factors : @xmath262.\end{aligned}\ ] ] using the expression for @xmath180 we obtain : @xmath263.\end{aligned}\ ] ] if @xmath237 belongs to the segment that joins @xmath15 and @xmath67 we have that @xmath264 and @xmath255 are parallel vectors , then : @xmath265 a(a^k ) \left\| z - a^k \right\| \left\| \widetilde{t}(a^k ) - a^k \right\|.\ ] ] we can write @xmath266 where @xmath267 $ ] . therefore : @xmath265 a(a^k ) \left ( 1 - \lambda \right ) \left\| t(a^k ) - a^k \right\| \left\| \widetilde{t}(a^k ) - a^k \right\|.\ ] ] for all @xmath267 $ ] . the minimum value of the right - hand side of the last expression happens when @xmath268 , so : @xmath265 a(a^k ) \left ( 1 - \lambda ( a^k ) \right ) \left\| t(a^k ) - a^k \right\| \left\| \widetilde{t}(a^k ) - a^k \right\|.\ ] ] using remark [ remark : properties of q ] we conclude that : @xmath265 a(a^k ) \left\| q(a^k ) - a^k \right\| \left\| \widetilde{t}(a^k ) - a^k \right\|.\ ] ]    now we will prove an equivalence that characterizes the solution of ( [ equation : constrained weber problem ] ) in terms of the iteration function @xmath2 . moreover , if @xmath20 is a regular point that is not a vertex , then @xmath20 is a kkt point .    from now on , let us consider that @xmath269 where @xmath270 is a convex function and @xmath271 is an affine function . [ theorem : equivalence minimum fixed point ] let @xmath19 be defined as in ( [ equation : characterization of omega ] ) and @xmath91 . consider the following propositions :    1 . @xmath93 is a kkt point . @xmath93 is the minimizer of the problem ( [ equation : constrained weber problem ] ) . @xmath272 . if @xmath44 , @xmath273 and @xmath274 are continuously differentiable , and @xmath93 is a regular point , then ( a ) , ( b ) and ( c ) are equivalent .    if @xmath132 for some @xmath68 , then ( b ) implies ( c ) . let @xmath44 be . since @xmath21 is strictly convex and @xmath19 is convex , the kkt optimality conditions are necessary and sufficient . therefore , it holds that ( a ) is equivalent to ( b ) . now we will prove that ( b ) implies ( c ) . let us suppose that @xmath93 is the minimizer of the problem ( [ equation : constrained weber problem ] ) . if @xmath93 were not a fixed point of the iteration function @xmath2 , we would have that @xmath188 , which means that @xmath218 by theorem [ theorem : descent property ] . this contradicts the hypothesis .    to demonstrate that ( c ) implies ( a ) , we will assume that @xmath93 is a fixed point of @xmath2 , that is , @xmath275 . since @xmath141 , @xmath93 is the solution of : @xmath276 since @xmath277 and @xmath273 are convex , @xmath274 is affine , and @xmath93 is a regular point , the kkt optimality conditions hold at @xmath93 . that is , there exist multipliers @xmath278 and @xmath279 such that ( see @xcite ) : @xmath280 multiplying these equations by @xmath281 , using equation ( [ equation : nabla equal to minus widetilder ] ) , lemma [ lemma : widetilder equal to 2a(widetildet - x ) ] and remark [ remark : properties of beta ] , we obtain : @xmath282 where @xmath283 and @xmath284 are multipliers . therefore , @xmath93 is a kkt point of the problem ( [ equation : constrained weber problem ] ) ( see @xcite ) .    now , let us suppose that @xmath132 for some @xmath68 . as before , if @xmath93 is a minimizer of the problem ( [ equation : constrained weber problem ] ) , then @xmath175 , otherwise @xmath285 , which would be a contradiction .    numerical experiments . [ section : numerical experiments ] the purpose of this section is to discuss the efficiency and robustness of the proposed algorithm versus a solver for nonlinear programming problems .    a prototype code of algorithm [ algorithm : proposed algorithm ] was programmed in matlab ( version r2011a ) and executed in a pc running linux os , intel(r ) core(tm ) i7 cpu q720 , 1.60ghz . we have considered a closed and convex set @xmath286 defined by the set @xmath287 , where @xmath273 is given by : @xmath288 \displaystyle \frac { 4 } { 5 } x + y - \frac { 59 } { 10 } \\[3 mm ] \displaystyle x - \frac { 11 } { 2 } \\[3 mm ] \displaystyle \frac { 3 } { 2 } x - y - \frac { 35 } { 4 } \\[3 mm ] \displaystyle x - y - \frac { 13 } { 2 } \\[3 mm ] \displaystyle - 4 + \frac { 1 } { 8 } ( x - 1 ) + \frac { 1 } { 16 } ( x - 1 ) ^2 + \frac { 1 } { 32 } ( x - 1 ) ^2 ( x - 3 ) - y \\[3 mm ] \displaystyle - \frac { 1 } { 3 } x - y - \frac { 11 } { 3 } \\[3 mm ] \displaystyle - \frac { 2 } { 3 } x - y - \frac { 13 } { 3 } \\[3 mm ] \displaystyle - 4 x + y - 19 \end{array } \right].\ ] ] the feasible set is defined by linear and nonlinear constraints , as it can be seen in figure [ figure : feasible set ] .    , width=434 ]    we have built @xmath289 different experiments where for each one :    * the number of vertices was @xmath290 . * the vertices were normally distributed random vectors , with mean equal to @xmath291 and standard deviation equal to @xmath292 . * the weights were uniformly distributed random positive numbers between @xmath291 and @xmath292 . * tolerance was set to @xmath293 . on one hand , each experiment was solved using algorithm [ algorithm : proposed algorithm ] and , on the other hand , it was considered as a nonlinear programming problem and solved using function @xmath294 ( see @xcite and references therein ) . since the weber function ( [ equation : weber function ] ) is not differentiable at the vertices , nonlinear programming solvers may fail . let @xmath295 be the solution of ( [ equation : constrained weber problem ] ) obtained by @xmath294 in experiment @xmath296 , and @xmath297 . analogously , let @xmath298 be the solution of ( [ equation : constrained weber problem ] ) obtained by algorithm [ algorithm : proposed algorithm ] in experiment @xmath296 , and @xmath299 . figure [ figure : functionalvalues ] shows the difference between the arrays @xmath300 and @xmath301 . both methods finished succesfully in all cases , however , algorithm [ algorithm : proposed algorithm ] found equal or better results for all experiments . for example , the difference @xmath302 was greater than @xmath303 in @xmath304 experiments ( the maximum difference ocurred in experiment @xmath305 ) .     and @xmath294.,width=434 ] feasibility of the solutions @xmath298 can be checked computing @xmath306 . results can be seen in figure [ figure : feasibility ]     obtained by algorithm [ algorithm : proposed algorithm].,width=434 ] this paper proposes a weiszfeld - like algorithm for solving the weber problem constrained to a closed and convex set , and it is well defined even when an iterate is a vertex . the algorithm consists of two stages : first , iterate using the fixed point modified weiszfeld iteration ( [ equation : iteration function of the modified algorithm with beta ] ) , and second , either project onto the set @xmath19 when the iterate is different from the vertices , or , if the iterate is a vertex @xmath15 , take the point belonging to the line that joins @xmath67 with @xmath15 as defined in ( [ equation : iteration function of the proposed algorithm ] ) . it is proved that the constrained problem ( [ equation : constrained weber problem ] ) has a unique solution . besides that , the definition of the iteration function @xmath2 allows us to demonstrate that the proposed algorithm produces a sequence @xmath217 of feasible iterates . moreover , the sequence @xmath231 is not increasing , and when @xmath307 , the sequence decreases at the next iterate . it can be seen that if a point @xmath20 is the solution of the problem ( [ equation : constrained weber problem ] ) then @xmath20 is a fixed point of the iteration function @xmath2 . even more , if @xmath20 is different from the vertices , the fact of being @xmath20 a fixed point of @xmath2 is equivalent to the fact that @xmath20 satisfies the kkt optimality conditions , and equivalent to the fact that @xmath20 is the solution of the problem ( [ equation : constrained weber problem ] ) . these properties allows us to connect the proposed algorithm with the minimization problem . numerical experiments showed that the proposed algorithm found equal or better solutions than a well - known standard solver , in a practical example with 1000 random choices of vertices and weights . that is due to the fact that the proposed algorithm does not use of the existence of derivatives at the vertices , because the weber function is not differentiable at the vertices . 44 natexlab#1#1[2]#2 , , , , , . , , , ( ) . , , ( ) . , , , , ( ) . , , , ( ) . , , ( ) . , , , ( ) . , , , , ( ) . , , , , ( ) . , , , ( ) . , , , , ( ) . , , , , , ( ) . , , , , , . . , , , ( ) . , , , ( ) . , , , , ( ) . , , , , ( ) . , , , . , , , ( ) . , , , ( ) . , , , ( ) . , , springer series in operations research , , , . , , , ( ) . . , , in : , , , , pp . . , , ( ) . , , , in : , volume   of _ _ , , , , pp . . , , , international series in operations research & management science , 116 , , , edition , . , , . , , , ( ) . , , ( ) . , , , ( ) . , , , ( ) . , , , , . , , , , volume  , , . , , , ( ) . , , , ( ) . , , , , . . , , ( ) , , ( ) . , , ( )
the weber problem consists of finding a point in @xmath0 that minimizes the weighted sum of distances from @xmath1 points in @xmath0 that are not collinear . 
 an application that motivated this problem is the optimal location of facilities in the 2-dimensional case . 
 a classical method to solve the weber problem , proposed by weiszfeld in 1937 , is based on a fixed point iteration .    in this work 
 a weber problem constrained to a closed and convex set is considered . 
 a weiszfeld - like algorithm , well defined even when an iterate is a vertex , is presented . 
 the iteration function @xmath2 that defines the proposed algorithm , is based mainly on an orthogonal projection over the feasible set , combined with the iteration function of a modified weiszfeld algorithm presented by vardi and zhang in 2001 . 
 it can be seen that the proposed algorithm generates a sequence of feasible iterates that have descent properties . under certain hypotheses , 
 the limit of this sequence satisfies the kkt optimality conditions , is a fixed point of the iteration function that defines the algorithm , and is the solution of the constrained minimization problem . 
 numerical experiments confirmed the theoretical results . 
 location , weber problem , weiszfeld algorithm , fixed point iteration 90b85 , 90c25 , 90c30