Home > src > greedyAnneal.m

# greedyAnneal

## PURPOSE

- greedy annealing (i.e., T = 0) object

## SYNOPSIS

This is a script file.

## DESCRIPTION

     - greedy annealing (i.e., T = 0) object

     copyright 2009-2012 Blair Armstrong, Christine Watson, David Plaut

        This file is part of SOS

        SOS is free software: you can redistribute it and/or modify
        it for academic and non-commercial purposes
        under the terms of the GNU General Public License as published by
        the Free Software Foundation, either version 3 of the License, or
        (at your option) any later version.  For commercial or for-profit
        uses, please contact the authors (sos@cnbc.cmu.edu).

        SOS is distributed in the hope that it will be useful,
        but WITHOUT ANY WARRANTY; without even the implied warranty of
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        GNU General Public License for more details.

## CROSS-REFERENCE INFORMATION

This function calls:

- genericAnneal - abstract interface for annealing objects
- greedyAnneal - greedy annealing (i.e., T = 0) object
- verbosePrint - master print function that regulates cmd line output based on verbosity flags

This function is called by:

- greedyAnneal - greedy annealing (i.e., T = 0) object
- sos - SOS optimization object

## SUBFUNCTIONS

- function obj = greedyAnneal(varargin)
- function temp = getTemp(obj)
- function anneal(obj,~,~,~)

## SOURCE CODE

    0001 % - greedy annealing (i.e., T = 0) object
    0002 %
    0003 % copyright 2009-2012 Blair Armstrong, Christine Watson, David Plaut
    0004 %
    0005 %    This file is part of SOS
    0006 %
    0007 %    SOS is free software: you can redistribute it and/or modify
    0008 %    it for academic and non-commercial purposes
    0009 %    under the terms of the GNU General Public License as published by
    0010 %    the Free Software Foundation, either version 3 of the License, or
    0011 %    (at your option) any later version.  For commercial or for-profit
    0012 %    uses, please contact the authors (sos@cnbc.cmu.edu).
    0013 %
    0014 %    SOS is distributed in the hope that it will be useful,
    0015 %    but WITHOUT ANY WARRANTY; without even the implied warranty of
    0016 %    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    0017 %    GNU General Public License for more details.
    0018
    0019 %    You should have received a copy of the GNU General Public License
    0020 %    along with SOS (see COPYING.txt).
    0021 %    If not, see <http://www.gnu.org/licenses/>.
    0022
    0023
    0024
    0025 classdef greedyAnneal < genericAnneal
    0026     %% greedy annealing
    0027
    0028     properties
    0029     end
    0030
    0031     methods
    0032         function obj = greedyAnneal(varargin)
    0033             %% creates the greedy anneal object
    0034
    0035             p = inputParser;
    0036             p.addParamValue('schedule','greedy', ...
    0037                 @(schedule)strcmp(schedule,'greedy'));
    0038             p.parse(varargin{:});
    0039
    0040             verbosePrint('Creating greedy temperature annealing function...',...
    0041                 'greedyAnneal_constructor_startObjCreation');
    0042
    0043            obj.temp = 0;
    0044         end
    0045
    0046
    0047         function temp = getTemp(obj)
    0048             %% returns the current temperature
    0049             temp = obj.temp;
    0050         end
    0051
    0052         %does nothing in this implementation; temp is always zero
    0053         function anneal(obj,~,~,~) %#ok<MANU>
    0054             %% does nothing; temp is always 0
    0055         end
    0056
    0057     end
    0058
    0059 end