Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Multi-Criteria Decision Making for Engineering Alternatives | Optimization and Data-Driven Decisions
Practice
Projects
Quizzes & Challenges
Quiz
Challenges
/
R for Engineers

bookMulti-Criteria Decision Making for Engineering Alternatives

Scorri per mostrare il menu

Multi-criteria decision making (MCDM) plays a crucial role in engineering when you must select among competing designs, each with strengths and weaknesses across several important metrics. In practice, you rarely optimize for a single factor like cost, safety, or performance in isolation. Instead, you must balance these criteria, making rational, data-driven choices that account for the trade-offs inherent in every engineering alternative. MCDM provides systematic approaches to evaluate and compare options such as bridge designs, manufacturing processes, or energy systems, helping you justify your decisions with transparent, quantitative reasoning.

1234567891011121314151617181920212223242526272829303132333435363738
# Suppose you have three bridge designs, each scored on three criteria: cost (lower is better), safety (higher is better), and performance (higher is better). # First, assemble the data: designs <- data.frame( Design = c("A", "B", "C"), Cost = c(2.5, 3.0, 2.0), # in millions Safety = c(8.0, 7.5, 9.0), # out of 10 Performance = c(7.0, 8.5, 6.5) # out of 10 ) # Normalize criteria: lower cost is better, so invert cost. normalize <- function(x, higher_better = TRUE) { if (higher_better) { (x - min(x)) / (max(x) - min(x)) } else { (max(x) - x) / (max(x) - min(x)) } } designs$Cost_norm <- normalize(designs$Cost, higher_better = FALSE) designs$Safety_norm <- normalize(designs$Safety, higher_better = TRUE) designs$Performance_norm <- normalize(designs$Performance, higher_better = TRUE) # Assign weights to each criterion: suppose cost (0.4), safety (0.35), performance (0.25) weights <- c(Cost = 0.4, Safety = 0.35, Performance = 0.25) # Compute weighted sum for each design designs$Score <- with(designs, Cost_norm * weights["Cost"] + Safety_norm * weights["Safety"] + Performance_norm * weights["Performance"] ) # Rank designs by score (higher is better) designs$Rank <- rank(-designs$Score) # Display the results designs[, c("Design", "Score", "Rank")]
copy

When you use MCDM methods such as the weighted sum model, the choice of weights for each criterion reflects the priorities of your project and its stakeholders. Assigning higher weight to safety, for instance, signals that safety is more important than cost or performance. However, these weights are often subjective and may be influenced by regulations, expert judgment, or stakeholder preferences. The results of your analysis can be sensitive to these assumptions, so it is essential to communicate how different weighting schemes affect the final ranking of options. By presenting clear trade-offs, you enable stakeholders to understand the consequences of different choices and participate meaningfully in the decision process. This transparency supports more robust, defensible engineering decisions.

question mark

What is the main benefit of using multi-criteria decision making (MCDM) when comparing engineering alternatives?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 2
some-alt