class AHProcess::AnalyticHierarchyProcess
Attributes
criteria_matrix[R]
decision_matricies[R]
no_decisions[R]
Public Class Methods
new(decision_matricies, criteria_matrix = [], no_decisions = 1)
click to toggle source
# File lib/ahprocess/analytic_hierarchy_process.rb, line 7 def initialize(decision_matricies, criteria_matrix = [], no_decisions = 1) @no_decisions = no_decisions @criteria_matrix = AHPMatrix.new(criteria_matrix) @decision_matricies = decision_matricies.map { |matrix| AHPMatrix.new(matrix) } end
Public Instance Methods
consistency_ratios(random_consistency_index)
click to toggle source
# File lib/ahprocess/analytic_hierarchy_process.rb, line 24 def consistency_ratios(random_consistency_index) return [decision_matricies.map { |pv| pv.consistency_ratio(random_consistency_index) }] if criteria_matrix.empty? [decision_matricies.map { |pv| pv.consistency_ratio(random_consistency_index) }, criteria_matrix.consistency_ratio(random_consistency_index)] end
decide()
click to toggle source
# File lib/ahprocess/analytic_hierarchy_process.rb, line 13 def decide return decision_matricies.map(&:preference_vector).first.to_a if criteria_matrix.empty? decision_preference_vectors = decision_matricies.map(&:preference_vector) criteria_preference_vector = criteria_matrix.preference_vector (0...no_decisions).map do |decision_index| criteria_preference_vector.inner_product(decision_preference_vectors.map { |pv| pv[decision_index] }) end end