Module: Algorithms::SimulatedAnnealing::Support

Defined in:
lib/algorithms/simulated_annealing.rb

Instance Method Summary collapse

Instance Method Details

#included(aModule) ⇒ Object



130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# File 'lib/algorithms/simulated_annealing.rb', line 130

def included ( aModule )

  aModule.module_eval do

    #
    # Return a transition which can be applied by apply_transition.
    #
    def choose_transition ( generator=nil )
      raise NotImplementedError
    end

    #
    # Return a cost difference
    #
    def transition_cost ( current_cost, transition )
      raise NotImplementedError
    end

    #
    # Apply the given transition to your current object.
    #
    def apply_transition ( transition )
      raise NotImplementedError
    end

  end

end