Changeset 1061
- Timestamp:
- 06/25/08 00:18:34 (2 months ago)
- Files:
-
- trunk/openopt/scikits/openopt/Kernel/Point.py (modified) (2 diffs)
- trunk/openopt/scikits/openopt/solvers/UkrOpt/ralg_oo.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/openopt/scikits/openopt/Kernel/Point.py
r1049 r1061 109 109 elif resType == 'ub': 110 110 g[ind] += 1 # N * (+1), +1 = dConstr/dx = d(x-ub)/dx 111 elif resType == ' A':112 g += self. A[ind]113 elif resType == ' Aeq':111 elif resType == 'b': 112 g += self.p.A[ind] 113 elif resType == 'beq': 114 114 rr = self.p.matmult(self.p.Aeq[ind], self.x)-self.p.beq[ind] 115 115 if rr < 0: g -= self.p.Aeq[ind] … … 122 122 if self.p.h(self.x, ind=ind) < 0: g -= dh#CHECKME!! 123 123 else: g += dh#CHECKME!! 124 self._dmr, self._dmrName, self._dmrInd = g, resType, ind124 self._dmr, self._dmrName, self._dmrInd = g, resType, ind 125 125 if retAll: 126 return copy(self._dmr), resType, ind126 return copy(self._dmr), self._dmrName, self._dmrInd 127 127 else: 128 128 return copy(self._dmr) trunk/openopt/scikits/openopt/solvers/UkrOpt/ralg_oo.py
r1052 r1061 117 117 break 118 118 119 iterPoint , optimIterPoint = newPoint, oldPoint119 iterPoint = newPoint 120 120 x = iterPoint.x 121 121 … … 140 140 141 141 if PrevPoint.betterThan(newPoint) or newPoint.f() > PrevPoint.f() or abs(newPoint.f() - iterPoint.f()) < 15 * p.ftol or p.norm(newPoint.x - iterPoint.x) < 15 * p.xtol: 142 iterPoint, optimIterPoint, hs = PrevPoint, p.point(PrevPoint.x), hs_prev142 iterPoint, hs = PrevPoint, hs_prev 143 143 break 144 144 … … 146 146 147 147 ls -= 1 148 148 149 if itn != 0: 149 150 break 150 151 iterPoint = PrevPoint 151 152 152 x = iterPoint.x.copy()153 x = newPoint.x.copy() 153 154 154 155 if ls <= 0: hs *= q1 … … 157 158 currIterPointIsFeasible = p.isFeas(x) 158 159 159 g2 = self.__getRalgDirection__( iterPoint)160 g2 = self.__getRalgDirection__(newPoint) 160 161 if prevIterPointIsFeasible == currIterPointIsFeasible == True: 161 162 g1 = g2 - g … … 223 224 224 225 if p.istop: 226 if newPoint.betterThan(oldPoint): optimIterPoint = newPoint 227 else: optimIterPoint = oldPoint 225 228 p.iterfcn(optimIterPoint) 226 229 return
