i
IOPS DDH () @ Design & Computation - Perspectives in Engineering - Studio @ Old TU Berlin building


presented at

Design & Computation - Perspectives in Engineering - Studio @ Old TU Berlin building

IOPS

Initiation into Optimization & Problem-Solving

Problem & Solution

In engineering, a problem P is defined by an objective function that needs to be optimized, a vector of parameters that can be adjusted, and constraints that must be satisfied.

The solution S is the optimal set of parameter values that achieve the desired optimization while staying within the bounds of the constraints.

Meta-Problem

What problem is worth time of Your life ?

problem(s)

picture%20of%20%22problem%22%2C%20black%20background

picture of "problem", black background

A problem P can be defined as a situation or scenario where a particular system, device, or process is not performing as desired, leading to suboptimal or undesired outcomes. In a design & engineering context, P is typically framed in terms of:

Vector of Parameters: This is a set of variables or conditions that characterize the system or scenario. They can be input conditions, system states, or any other relevant metrics that describe the system. 

Objective Function: This is a mathematical function that quantifies how far the current system's performance is from the desired performance. The goal is usually to minimize or maximize this function. 

Constraints: These are the bounds or limitations within which the system operates. In engineering problems, constraints can arise from physical limitations, safety requirements, budgetary restrictions, etc. The solution must satisfy these constraints.

Taxonomy of Problems

 

solution(s)


Exercise 0: Paper Airplane Optimization

After the break, we will make a little exercise in "Paper Airplane Optimization".

What parameters define the "paper airplane design space"

What will be the primary objective ? What could be a secondary, tertiary, etc. objective ?

What other criteria and constraints could be involved in deciding which design is the optimal one ?

Multi-objective Optimization

In multi-objective optimization, optimize for two or more objectives in the same time.

Problem & Solution

In engineering, a problem P is defined by an objective function that needs to be optimized, a vector of parameters that can be adjusted, and constraints that must be satisfied.

The solution S is the optimal set of parameter values that achieve the desired optimization while staying within the bounds of the constraints.

Constraints

Parameters & Constraints

Etymology

Middle English: from Old French constraindre, from Latin constringere ‘bind tightly together’.

Reflectio: Constraint types

What types of constraints do You take into account when You:

make a decision D

when You solve a problem P 

???

Constraint programming

%22Illustration%20on%20a%20black%20background%20depicting%20the%20concept%20of%20'constraint%20programming'.%20A%20set%20of%20interconnected%20nodes%2C%20each%20labeled%20as%20a%20variable%2C%20with%20chains%20or%20links%20representing%20constraints.%20Some%20nodes%20glow%20to%20indicate%20they%20are%20satisfying%20their%20constraints%2C%20while%20others%20are%20dim%20to%20show%20they%20aren't.%22

"Illustration on a black background depicting the concept of 'constraint programming'. A set of interconnected nodes, each labeled as a variable, with chains or links representing constraints. Some nodes glow to indicate they are satisfying their constraints, while others are dim to show they aren't."

Constraint programming is a programming paradigm where relationships between variables are expressed as constraints. The objective is to find values for these variables that satisfy all given constraints. It is particularly useful for solving combinatorial problems, such as scheduling, planning, and resource allocation, where traditional algorithms might be inefficient. Instead of specifying steps to achieve a solution, one defines the desired properties of a solution, and the system determines a valid assignment, if one exists.

Linear Programming

Linear Programming (LP) is a mathematical method used to find the best outcome in a model whose requirements are represented by linear relationships. It's like playing a game where you need to achieve the highest score (maximize) or the lowest score (minimize) under certain rules. These rules are your constraints, like how much money you can spend or how many hours you have. The score you're trying to optimize is called the objective function, and it's also a linear equation. LP helps you figure out the best way to play this game, balancing all the rules, to achieve your goal, whether it's making the most profit, using the least resources, or something similar. It's a powerful tool for decision-making in business, engineering, economics, and more.

Constraint Programming Summary

Focus: CP is more general and can handle a wide variety of constraints, not just linear ones. It can deal with logical conditions, like "either-or" situations, and can include non-linear relationships.

Objective: CP doesn't necessarily have an objective function to optimize. Instead, it focuses on finding solutions that satisfy all the given constraints.

Method: It uses different algorithms than LP, often based on search techniques, like backtracking or heuristics.

Constraints: Constraints in CP can be diverse - linear, non-linear, logical conditions, etc. For example, a constraint could be that a certain task must be done before another can start.

Solutions: Solutions in CP are often discrete (like whole numbers) and can involve deciding between different options or scenarios.

Evaluation and beyond

Tradeoffs:::Nadir points:::Thresholds:::'There is no free lunch'-theorem

Tradeoffs

Tradeoffs

Nadir points

Nadir points

Thresholds

Thresholds

'There is no free lunch'

'There is no free lunch'-theorem

Meta-Problem in Light of Turing's Entscheidungsproblem

Meta-Problem in Light of Turing's Entscheidungsproblem

Heuristics

The term "heuristics" comes from the Greek word "heuriskein," which means "to find" or "to discover." This term reflects the idea of finding or discovering solutions through intuitive or trial-and-error methods. 

Etymology

dall-e%203%3A%20%22illustration%20on%20black%20background%20of%20archimedes%20discovering%20the%20physical%20law%20and%20crying%20with%20face%20full%20of%20enthusiasm%20the%20word%20EUREKA%20(word%20should%20be%20depicted%20in%20the%20comics-like%20bubble%22

dall-e 3: "illustration on black background of archimedes discovering the physical law and crying with face full of enthusiasm the word EUREKA (word should be depicted in the comics-like bubble"

The term "heuristics" comes from the Greek word "heuriskein," which means "to find" or "to discover." This term reflects the idea of finding or discovering solutions through intuitive or trial-and-error methods.

Mathematico-logical heuristics

Mathematico-logical heuristics involve using structured mathematical or logical methods to solve problems. They include techniques like calculus for optimizing functions, linear programming for maximizing or minimizing linear objectives under constraints, and 3-SAT for solving complex logical puzzles. These heuristics apply rigorous mathematical rules and logic to break down and solve problems step-by-step. They are especially useful for structured problems where precise, logical solutions are needed, like in operations research, computer science, and engineering.

Nature-inspired heuristics

Nature-inspired heuristics are problem-solving methods modeled after natural processes. Like how birds flock or bees forage, these algorithms mimic nature to tackle complex problems. They use strategies like evolution, ant colony behavior, or bird flocking to find good solutions, blending randomness with specific rules from nature. These methods are useful for tough problems where traditional approaches might fail, creatively applying nature's wisdom to areas like computer science, engineering, and logistics to find efficient, often surprising, solutions.

Human heuristics

Human heuristics are simple, intuitive rules we use to make quick decisions, like "avoid dark alleys at night." They are based on our experiences and common sense, helping us navigate everyday choices efficiently without much thought. Useful in fast-paced or uncertain situations, these shortcuts can lead to good enough decisions. However, they're not always reliable for complex, critical decisions or in unfamiliar contexts, as they can oversimplify situations and be influenced by biases, potentially leading to poor choices.