コード例 #1
0
    def run_iteration(self):
        """ The NEWSUMT driver iteration."""

        self._load_common_blocks()

        try:
            (fmin, self._obj, self._objmin, self.design_vals,
             self.__design_vals_tmp, self.isdone, self.resume) = \
              newsumtinterruptible.newsuminterruptible(user_function,
                   self._lower_bounds, self._upper_bounds,
                   self._ddobj, self._dg, self._dh, self._dobj,
                   self.fdcv, self._g,
                   self._gb, self._g1, self._g2, self._g3,
                   self._obj, self._objmin,
                   self._s, self._sn, self.design_vals, self.__design_vals_tmp,
                   self._iik, self._ilin, self._iside,
                   self.n1, self.n2, self.n3, self.n4,
                   self.isdone, self.resume, analys_extra_args=(self,))

        except Exception as err:
            self._logger.error(str(err))
            raise

        self._save_common_blocks()

        self.iter_count += 1

        # Update the parameters and run one final time with what it gave us.
        # This update is needed because I obeserved that the last callback to
        # user_function is the final leg of a finite difference, so the model
        # is not in sync with the final design variables.
        if not self.continue_iteration():
            self.set_parameters(self.design_vals)
            super(NEWSUMTdriver, self).run_iteration()
コード例 #2
0
    def run_iteration(self):
        """ The NEWSUMT driver iteration."""

        self._load_common_blocks()

        try:
            (fmin, self._obj, self._objmin, self.design_vals,
             self.__design_vals_tmp, self.isdone, self.resume) = \
              newsumtinterruptible.newsuminterruptible(user_function,
                   self._lower_bounds, self._upper_bounds,
                   self._ddobj, self._dg, self._dh, self._dobj,
                   self.fdcv, self._g,
                   self._gb, self._g1, self._g2, self._g3,
                   self._obj, self._objmin,
                   self._s, self._sn, self.design_vals, self.__design_vals_tmp,
                   self._iik, self._ilin, self._iside,
                   self.n1, self.n2, self.n3, self.n4,
                   self.isdone, self.resume, analys_extra_args=(self,))

        except Exception as err:
            self._logger.error(str(err))
            raise

        self._save_common_blocks()

        self.iter_count += 1

        # Update the parameters and run one final time with what it gave us.
        # This update is needed because I obeserved that the last callback to
        # user_function is the final leg of a finite difference, so the model
        # is not in sync with the final design variables.
        if not self.continue_iteration():
            self.set_parameters(self.design_vals)
            super(NEWSUMTdriver, self).run_iteration()
コード例 #3
0
    def run_iteration(self):
        """ The NEWSUMT driver iteration."""

        self._load_common_blocks()

        try:
            (
                fmin,
                self._obj,
                self._objmin,
                self.design_vals,
                self.__design_vals_tmp,
                self.isdone,
                self.resume,
            ) = newsumtinterruptible.newsuminterruptible(
                user_function,
                self._lower_bounds,
                self._upper_bounds,
                self._ddobj,
                self._dg,
                self._dh,
                self._dobj,
                self.fdcv,
                self._g,
                self._gb,
                self._g1,
                self._g2,
                self._g3,
                self._obj,
                self._objmin,
                self._s,
                self._sn,
                self.design_vals,
                self.__design_vals_tmp,
                self._iik,
                self.ilin,
                self._iside,
                self.n1,
                self.n2,
                self.n3,
                self.n4,
                self.isdone,
                self.resume,
                analys_extra_args=(self,),
            )

        except Exception, err:
            self._logger.error(str(err))
            raise
コード例 #4
0
    def run_iteration(self):
        """ The NEWSUMT driver iteration."""

        self._load_common_blocks()

        try:
            ( fmin, self._obj, self._objmin, self.design_vals,
              self.__design_vals_tmp, self.isdone, self.resume) = \
              newsumtinterruptible.newsuminterruptible(user_function,
                   self._lower_bounds, self._upper_bounds,
                   self._ddobj, self._dg, self._dh, self._dobj,
                   self.fdcv, self._g,
                   self._gb, self._g1, self._g2, self._g3,
                   self._obj, self._objmin,
                   self._s, self._sn, self.design_vals, self.__design_vals_tmp,
                   self._iik, self.ilin, self._iside,
                   self.n1, self.n2, self.n3, self.n4,
                   self.isdone, self.resume, analys_extra_args = (self,))

        except Exception, err:
            self._logger.error(str(err))
            raise