Discrete Structures and Optimization
1. Mathematical Logic
Mathematical logic is the foundation for formal reasoning and is crucial in computer science
for designing circuits, proving program correctness, and building AI systems.
● Propositional Logic:
○ Propositions: Declarative sentences that are either true (T) or false (F), but not both.
(e.g., "The sky is blue," "2 + 2 = 5").
○ Logical Connectives:
■ Negation (¬): "not P" (e.g., ¬P)
■ Conjunction (∧): "P and Q" (e.g., P∧Q) - True only if both P and Q are true.
■ Disjunction (∨): "P or Q" (e.g., P∨Q) - True if at least one of P or Q is true.
■ Exclusive OR (⊕): "P XOR Q" (e.g., P⊕Q) - True if exactly one of P or Q is true.
■ Implication (→): "If P then Q" or "P implies Q" (e.g., P→Q) - False only if P is
true and Q is false. P is the hypothesis/antecedent, Q is the
conclusion/consequent.
■ Biconditional (↔): "P if and only if Q" or "P iff Q" (e.g., P↔Q) - True if P and Q
have the same truth value.
○ Truth Tables: Used to determine the truth value of compound propositions for all
possible truth values of their atomic components.
○ Tautology: A proposition that is always true, regardless of the truth values of its
atomic components (e.g., P∨¬P).
○ Contradiction: A proposition that is always false (e.g., P∧¬P).
○ Contingency: A proposition that is neither a tautology nor a contradiction.
● Propositional Equivalences:
○ Two propositions are logically equivalent if they have the same truth values for all
possible truth assignments of their variables. Denoted by ≡.
○ Important Equivalences (De Morgan's Laws, Distributive Laws, Commutative
Laws, Associative Laws, Idempotent Laws, Identity Laws, Domination Laws,
Absorption Laws, Double Negation).
■ De Morgan's Laws: ¬(P∧Q)≡¬P∨¬Q; ¬(P∨Q)≡¬P∧¬Q.
● Normal Forms:
○ Conjunctive Normal Form (CNF): A conjunction of clauses, where each clause is a
disjunction of literals (a literal is a variable or its negation). (e.g., (P∨¬Q)∧(R∨S)).
○ Disjunctive Normal Form (DNF): A disjunction of minterms (or product terms),
where each minterm is a conjunction of literals. (e.g., (P∧Q)∨(¬R∧S)).
○ Applications: Simplification of Boolean expressions, automated theorem proving.
● Predicates and Quantifiers:
○ Predicates (Propositional Functions): A statement containing variables that
becomes a proposition when the variables are replaced by specific values or are
quantified. (e.g., P(x): "x is a prime number").
○ Domain of Discourse: The set of all possible values for the variables in a predicate.
○ Quantifiers: Used to express the extent to which a predicate is true over a range of
elements.
■ Universal Quantifier (∀): "for all," "for every." (e.g., ∀xP(x): "For all x, P(x) is
true").
■ Existential Quantifier (∃): "there exists," "for some." (e.g., ∃xP(x): "There
exists an x such that P(x) is true").
● Nested Quantifiers: Quantifiers appearing within the scope of other quantifiers. Order
matters! (e.g., ∀x∃yP(x,y) vs. ∃y∀xP(x,y)).
● Rules of Inference:
○ Used to derive conclusions from a set of premises.
○ Modus Ponens: ((P→Q)∧P)→Q
○ Modus Tollens: ((P→Q)∧¬Q)→¬P
○ Hypothetical Syllogism: ((P→Q)∧(Q→R))→(P→R)
○ Disjunctive Syllogism: ((P∨Q)∧¬P)→Q
○ Conjunction: ((P)∧(Q))→(P∧Q)
○ Simplification: (P∧Q)→P
○ Addition: P→(P∨Q)
○ Resolution: ((P∨Q)∧(¬P∨R))→(Q∨R)
2. Sets and Relations
Sets and relations are fundamental concepts for organizing and understanding data.
● Sets:
○ A well-defined collection of distinct objects.
○ Notation: Curly braces {}. Elements are separated by commas.
○ Membership: ∈ (is an element of), ∈/ (is not an element of).
○ Cardinality: ∣A∣ denotes the number of elements in set A.
○ Empty Set (∅ or {}): A set with no elements.
○ Subset (⊆): A ⊆ B if every element of A is also an element of B.
○ Proper Subset (⊂): A ⊂ B if A ⊆ B and A = B.
○ Power Set (P(A)): The set of all subsets of A. If ∣A∣=n, then ∣P(A)∣=2n.
● Set Operations:
○ Union (A∪B): All elements in A or B (or both).
○ Intersection (A∩B): All elements common to both A and B.
○ Difference (A−B or A∖B): All elements in A but not in B.
○ Complement (Aˉ or Ac): All elements in the universal set U that are not in A.
○ Symmetric Difference (AΔB): Elements in A or B, but not in their intersection.
AΔB=(A∖B)∪(B∖A).
○ Venn Diagrams: Visual representation of sets and their relationships.
● Relations:
○ A relation R from set A to set B is a subset of the Cartesian product A×B. If A = B, it's
a relation on A.
○ Representation:
■ Ordered Pairs: Listing the pairs (a,b) where aRb.
■ Arrow Diagram: Arrows from elements of A to elements of B.
■ Matrix Representation: A binary matrix where Mij=1 if iRj, else 0.
■ Digraph (Directed Graph): Vertices represent elements, edges represent
relations.
● Properties of Relations:
○ Reflexive: ∀a∈A,(a,a)∈R. (Every element is related to itself).
○ Irreflexive: ∀a∈A,(a,a)∈/R. (No element is related to itself).
○ Symmetric: ∀a,b∈A, if (a,b)∈R then (b,a)∈R.
○ Antisymmetric: ∀a,b∈A, if (a,b)∈R and (b,a)∈R, then a=b.
○ Transitive: ∀a,b,c∈A, if (a,b)∈R and (b,c)∈R, then (a,c)∈R.
● Equivalence Relations:
○ A relation that is reflexive, symmetric, and transitive.
○ Equivalence Classes: An equivalence relation partitions a set into disjoint subsets
called equivalence classes. [a]={x∈A∣(x,a)∈R}.
● Partially Ordering (Partial Order Relation):
○ A relation that is reflexive, antisymmetric, and transitive.
○ Poset (Partially Ordered Set): A set A with a partial order relation R, denoted (A,R).
○ Hasse Diagrams: Graphical representation of a poset, simplifying the drawing by
omitting loops (reflexivity) and redundant edges (transitivity).
○ Comparable Elements: If (a,b)∈R or (b,a)∈R.
○ Incomparable Elements: Elements that are not comparable.
○ Maximal Element: An element a such that there is no b with a=b and (a,b)∈R.
○ Minimal Element: An element a such that there is no b with a=b and (b,a)∈R.
○ Greatest Element (Maximum): An element that is related to every other element in
the set.
○ Least Element (Minimum): An element to which every other element in the set is
related.
○ Upper Bound: An element u in a poset (S,⪯) is an upper bound of a subset A⊆S if for
every a∈A, a⪯u.
○ Lower Bound: An element l in a poset (S,⪯) is a lower bound of a subset A⊆S if for
every a∈A, l⪯a.
○ Least Upper Bound (LUB) / Supremum: The smallest of the upper bounds.
○ Greatest Lower Bound (GLB) / Infimum: The largest of the lower bounds.
3. Counting, Mathematical Induction and Discrete Probability
These topics are essential for analyzing algorithms, understanding data structures, and
modeling uncertainty.
● Basics of Counting:
○ Sum Rule: If a task can be done in n1ways OR in n2ways (mutually exclusive), then
there are n1+n2ways.
○ Product Rule: If a procedure can be broken into a sequence of two tasks, and there
are n1ways for the first and n2ways for the second, then there are n1×n2ways.
● Pigeonhole Principle:
○ If k+1 or more pigeons are placed into k pigeonholes, then at least one pigeonhole
must contain two or more pigeons.
○ Generalized Pigeonhole Principle: If N objects are placed into k boxes, then at
least one box contains at least ⌈N/k⌉ objects.
○ Applications: Proving existence, guarantees.
● Permutations and Combinations:
○ Permutation: An arrangement of objects in a specific order.
■ Permutations of n distinct objects taken r at a time: P(n,r)=(n−r)!n!.
■ Permutations with Repetition: nr (when picking r items from n with
replacement and order matters).
■ Permutations of n objects with n1identical, n2identical, etc.: n1!n2!…nk!n!.
○ Combination: A selection of objects where order does not matter.
■ Combinations of n distinct objects taken r at a time (Binomial Coefficient):
C(n,r)=(rn)=r!(n−r)!n!.
■ Combinations with Repetition (Stars and Bars): Choosing r items from n types
with replacement, order doesn't matter: (rn+r−1).
● Inclusion-Exclusion Principle:
○ Used to find the number of elements in the union of multiple sets.
○ For two sets: ∣A∪B∣=∣A∣+∣B∣−∣A∩B∣.
○ For three sets: ∣A∪B∪C∣=∣A∣+∣B∣+∣C∣−(∣A∩B∣+∣A∩C∣+∣B∩C∣)+∣A∩B∩C∣.
○ General form extends this pattern.
● Mathematical Induction:
○ A powerful proof technique used to prove statements about natural numbers.
○ Principle of Mathematical Induction: To prove P(n) is true for all integers n≥n0:
1. Basis Step: Show P(n0) is true.
2. Inductive Step: Assume P(k) is true for an arbitrary integer k≥n0(Inductive
Hypothesis), and show that P(k+1) must also be true.
○ Strong Induction: Similar to regular induction, but the inductive hypothesis assumes
P(j) is true for all integers j from n0to k.
● Probability:
○ Experiment: A procedure that yields one of a given set of possible outcomes.
○ Sample Space (S): The set of all possible outcomes.
○ Event (E): A subset of the sample space.
○ Probability of an Event (for equally likely outcomes): P(E)=∣S∣∣E∣.
○ Complementary Events: P(Eˉ)=1−P(E).
○ Union of Events: P(E∪F)=P(E)+P(F)−P(E∩F).
○ Independent Events: P(E∩F)=P(E)⋅P(F).
○ Conditional Probability: P(E∣F)=P(F)P(E∩F)(probability of E given F has occurred).
● Bayes’ Theorem:
○ Relates conditional probabilities.
○ P(H∣E)=P(E)P(E∣H)P(H).
○ Useful for updating beliefs based on new evidence.
4. Group Theory
Group theory is a branch of abstract algebra that studies algebraic structures known as
groups. It has applications in cryptography, coding theory, and physics.
● Algebraic Structure: A set together with one or more binary operations.
● Groups: A non-empty set G with a binary operation ∗ (denoted (G,∗)) satisfying:
1. Closure: ∀a,b∈G,a∗b∈G.
2. Associativity: ∀a,b,c∈G,(a∗b)∗c=a∗(b∗c).
3. Identity Element: ∃e∈G such that ∀a∈G,a∗e=e∗a=a.
4. Inverse Element: ∀a∈G,∃a−1∈G such that a∗a−1=a−1∗a=e.
○ Abelian Group (Commutative Group): If the operation is also commutative
(a∗b=b∗a).
○ Order of a Group: The number of elements in the group, denoted ∣G∣.
○ Order of an Element: The smallest positive integer n such that an=e.
● Subgroups:
○ A subset H of a group G that is itself a group under the same operation.
○ Lagrange's Theorem: If H is a subgroup of a finite group G, then the order of H
divides the order of G.
● Semi Groups: A non-empty set S with an associative binary operation. (Only closure and
associativity).
● Product and Quotients of Algebraic Structures:
○ Direct Product of Groups: If (G1,∗1) and (G2,∗2) are groups, their direct product
G1×G2is a group with operation (a,b)∗(c,d)=(a∗1c,b∗2d).
○ Cosets: If H is a subgroup of G and a∈G, then the left coset aH={ah∣h∈H} and the
right coset Ha={ha∣h∈H}.
○ Normal Subgroups: A subgroup N of G such that aN=Na for all a∈G. (Equivalently,
aNa−1=N).
○ Quotient Group (Factor Group): If N is a normal subgroup of G, the set of all cosets
G/N={aN∣a∈G} forms a group under the operation (aN)(bN)=(ab)N.
● Isomorphism:
○ A bijective homomorphism (one-to-one and onto mapping) between two groups that
preserves the group operation.
○ If f:G→H is an isomorphism, then G and H are structurally identical.
● Homomorphism:
○ A mapping f:G→H between two groups that preserves the group operation:
f(a∗b)=f(a)⋅f(b).
○ Kernel of a Homomorphism: Ker(f)={a∈G∣f(a)=eH} (the set of elements mapped to
the identity in H). The kernel is always a normal subgroup.
○ Image of a Homomorphism: Im(f)={f(a)∣a∈G}.
○ First Isomorphism Theorem: If f:G→H is a homomorphism, then G/Ker(f)≅Im(f).
● Automorphism: An isomorphism from a group to itself.
● Rings:
○ A set R with two binary operations, usually addition (+) and multiplication (⋅), such
that:
1. (R,+) is an abelian group.
2. Multiplication is associative: (a⋅b)⋅c=a⋅(b⋅c).
3. Distributive laws hold: a⋅(b+c)=(a⋅b)+(a⋅c) and (a+b)⋅c=(a⋅c)+(b⋅c).
○ Commutative Ring: If multiplication is commutative (a⋅b=b⋅a).
○ Ring with Unity (Identity): If there exists a multiplicative identity element 1∈R such
that a⋅1=1⋅a=a.
● Integral Domains:
○ A commutative ring with unity (1 = 0) that has no zero divisors (if ab=0, then a=0 or
b=0).
● Fields:
○ A commutative ring with unity (1 = 0) where every non-zero element has a
multiplicative inverse.
○ Examples: R (real numbers), Q (rational numbers), C (complex numbers), Zp(integers
modulo a prime p).
● Applications of Group Theory:
○ Cryptography: RSA, elliptic curve cryptography.
○ Coding Theory: Error-correcting codes (e.g., cyclic codes).
○ Physics: Symmetries in physical systems.
○ Chemistry: Molecular symmetry.
5. Graph Theory
Graph theory is a powerful tool for modeling relationships between discrete objects. It has
applications in computer networks, logistics, social networks, and more.
● Simple Graph: A graph with no loops (edges connecting a vertex to itself) and no
multiple edges (more than one edge between the same pair of vertices).3 Consists of a
set of vertices V and a set of edges E.
○ Notation: G=(V,E).
○ Order: Number of vertices (∣V∣).
○ Size: Number of edges (∣E∣).
○ Degree of a Vertex (deg(v)): Number of edges incident to the vertex.
○ Handshaking Theorem: ∑v∈Vdeg(v)=2∣E∣.
● Multigraph: A graph that allows multiple edges between the same pair of vertices.
● Weighted Graph: A graph where each edge has an associated numerical value
(weight/cost).
● Paths and Circuits:
○ Walk: A sequence of alternating vertices and edges.
○ Trail: A walk where all edges are distinct.
○ Path: A trail where all vertices are distinct (except possibly the start and end in a
circuit).
○ Circuit (Cycle): A path that starts and ends at the same vertex, and all intermediate
vertices are distinct.
● Shortest Paths in Weighted Graphs:
○ Dijkstra's Algorithm: Finds the shortest path from a single source vertex to all other
vertices in a graph with non-negative edge weights.
○ Bellman-Ford Algorithm:4 Finds the shortest path from a single source vertex to all
other vertices, even with negative edge weights (detects negative cycles).
○ Floyd-Warshall Algorithm: Finds all-pairs shortest paths in a weighted graph (can
handle negative weights, but not negative cycles).
● Eulerian Paths and Circuits:
○ Eulerian Circuit: A circuit that traverses every edge of the graph exactly once.
■ Exists if and only if the graph is connected and every vertex has an even degree.
○ Eulerian Path: A path that traverses every edge of the graph exactly once.
■ Exists if and only if the graph is connected and exactly two vertices have odd
degree (start and end of the path).
● Hamiltonian Paths and Circuits:
○ Hamiltonian Circuit: A circuit that visits every vertex exactly once (except for the
start/end vertex).
○ Hamiltonian Path: A path that visits every vertex exactly once.
○ Note: There is no simple condition like Euler's for determining the existence of
Hamiltonian paths/circuits. Many problems in this area are NP-complete.
● Planar Graph:
○ A graph that can be drawn in the plane without any edges crossing.
○ Euler's Formula for Planar Graphs: For a connected planar graph, V−E+F=2 (where
V=vertices, E=edges, F=faces).
○ Kuratowski's Theorem: A graph is planar if and only if it does not contain a
subgraph homeomorphic to K5(complete graph on 5 vertices) or K3,3(complete
bipartite graph on 3+3 vertices).
● Graph Coloring:
○ Vertex Coloring: Assigning colors to vertices such that no two adjacent vertices
have the same color.
○ Chromatic Number (χ(G)): The minimum number of colors needed to color a graph.
○ Applications: Scheduling, register allocation.
○ Four Color Theorem: Every planar graph can be colored with at most four colors.
● Bipartite Graphs:
○ A graph whose vertices can be divided into two disjoint sets, U and V, such that every
edge connects a vertex in U to one in V. No edges within U or V.
○ A graph is bipartite if and only if it contains no odd-length cycles.
○ Applications: Matching problems, resource allocation.
● Trees and Rooted Trees:
○ Tree: A connected acyclic (no cycles) graph.
■ Properties: A tree with n vertices has n−1 edges. Removing any edge disconnects
the tree. Adding any edge creates a cycle.
○ Rooted Tree: A tree in which one vertex is designated as the root.
■ Parent, Child, Sibling, Ancestor, Descendant, Leaf (Terminal) Node, Internal
Node, Subtree, Level, Height.
● Prefix Codes:
○ A set of codes where no code is a prefix of any other code. Used in data
compression.
○ Huffman Coding: An algorithm for constructing optimal prefix codes for a given set
of symbol frequencies. Uses a binary tree (Huffman tree).
● Tree Traversals:
○ Methods for visiting all nodes in a tree.
○ Preorder Traversal: Visit root, then left subtree, then right subtree. (Root-Left-Right)
○ Inorder Traversal (for Binary Search Trees): Visit left subtree, then root, then right
subtree (results in sorted output). (Left-Root-Right)
○ Postorder Traversal: Visit left subtree, then right subtree, then root.
(Left-Right-Root)
● Spanning Trees and Cut-Sets:
○ Spanning Tree: A subgraph of a connected graph that is a tree and includes all the
vertices of the original graph.
○ Minimum Spanning Tree (MST): A spanning tree with the minimum possible total
edge weight.
■ Prim's Algorithm: Builds an MST by iteratively adding the cheapest edge
connecting a vertex in the MST to a vertex outside the MST.
■ Kruskal's Algorithm: Builds an MST by iteratively adding the cheapest edge that
does not form a cycle.
○ Cut-Set: A set of edges whose removal disconnects a graph into two connected
components, but no proper subset of these edges disconnects the graph.
○ Applications: Network design, cluster analysis.
6. Boolean Algebra
Boolean algebra is a system of logic that deals with binary values (True/False or 1/0) and
logical operations. It's fundamental to digital circuit design.
● Boolean Functions and its Representation:
○ A function whose variables and values are from the set {0,1}.
○ Literals: A variable or its complement (e.g., x,xˉ).
○ Product Term (Minterm): A conjunction of literals (e.g., xyˉz).
○ Sum Term (Maxterm): A disjunction of literals (e.g., x+yˉ+z).
○ Truth Tables: Representing the output of a Boolean function for all possible input
combinations.
○ Canonical Forms:
■ Sum of Products (SOP): A sum of minterms. (e.g., xy+xˉz).
■ Product of Sums (POS): A product of maxterms. (e.g., (x+y)(xˉ+z)).
● Simplifications of Boolean Functions:
○ Boolean Identities: Using the basic laws of Boolean algebra (commutative,
associative, distributive, identity, complement, idempotent, absorption, De Morgan's)
to simplify expressions algebraically.
○ Karnaugh Maps (K-Maps): A graphical method for simplifying Boolean expressions
with a small number of variables (typically up to 4 or 5).
■ Grouping adjacent cells (powers of 2) containing '1's to form simplified product
terms.
■ Essential Prime Implicants.
○ Quine-McCluskey Algorithm: A tabular method for simplifying Boolean
expressions, especially useful for more variables or for automated simplification.
○ Applications: Minimizing the number of logic gates in digital circuits, reducing cost
and improving performance.
7. Optimization
Optimization is the process of finding the best solution from a set of available alternatives,
often under certain constraints. It's widely used in operations research, engineering, and
economics.
● Linear Programming (LP):
○ Mathematical Model: A technique for optimizing a linear objective function, subject
to linear equality and inequality constraints.
■ Objective Function: The function to be maximized or minimized (e.g.,
Z=c1x1+c2x2+⋯+cnxn).
■ Decision Variables: The variables whose values need to be determined (e.g.,
x1,x2,…,xn).
■ Constraints: Linear inequalities or equalities that limit the values of the decision
variables.
■ Non-negativity Constraints: Decision variables are usually non-negative (xi≥0).
○ Graphical Solution:
■ For LP problems with two decision variables.
■ Plot the constraint lines.
■ Identify the feasible region (the area satisfying all constraints).
■ Find the corner points (vertices) of the feasible region.
■ Evaluate the objective function at each corner point. The best value corresponds
to the optimal solution.
○ Simplex Method:
■ An iterative algebraic algorithm for solving LP problems with any number of
variables.
■ Starts at a feasible corner point and moves to an adjacent corner point that
improves the objective function, until no further improvement is possible.
■ Uses slack, surplus, and artificial variables to convert inequalities to equalities
and handle different constraint types.
■ Tableau: A matrix representation used to perform iterations.
○ Dual Simplex Method:
■ Used when the primal simplex method cannot be directly applied (e.g., when the
initial basic solution is infeasible).
■ Works on the dual problem, ensuring dual feasibility while working towards primal
feasibility.
○ Sensitive Analysis:
■ Examines how changes in the input parameters (e.g., objective function
coefficients, right-hand side of constraints) affect the optimal solution.
■ Shadow Price (Dual Price): The change in the optimal objective function value
for a one-unit increase in the right-hand side of a constraint.
■ Range of Optimality: The range within which an objective function coefficient
can change without changing the optimal basis.
■ Range of Feasibility: The range within which a right-hand side constraint value
can change without changing the optimal basis.
● Integer Programming (IP):
○ Linear programming where some or all of the decision variables are restricted to be
integers.
○ Pure Integer Programming: All variables are integers.
○ Mixed Integer Programming: Some variables are integers, others are continuous.
○ Binary Integer Programming: Variables can only be 0 or 1.
○ Solution Methods:
■ Branch and Bound: Systematically explores a tree of subproblems, pruning
branches that cannot lead to an optimal integer solution.
■ Cutting Plane Method: Adds new constraints (cuts) to the LP relaxation to
reduce the feasible region without excluding any integer solutions.
● Transportation and Assignment Models:
○ Transportation Model:
■ A special type of LP problem concerned with distributing a product from a set of
sources (factories) to a set of destinations (warehouses) to minimize total
transportation cost.
■ Balanced vs. Unbalanced: Supply equals demand (balanced) or not
(unbalanced).
■ Initial Basic Feasible Solution Methods: North-West Corner Rule, Least Cost
Method, Vogel's Approximation Method (VAM).
■ Optimality Test: Stepping Stone Method, Modified Distribution Method (MODI).5
○ Assignment Model:
■ A special case of the transportation model where tasks are assigned to
resources (e.g., jobs to machines, workers to projects) on a one-to-one basis to
minimize cost or maximize profit.
■ Hungarian Algorithm: A specialized and efficient algorithm for solving
assignment problems.
● PERT-CPM (Program Evaluation and Review Technique - Critical Path Method):
○ Project management techniques used for planning, scheduling, and controlling
complex projects.
○ Diagram Representation:
■ Activity-on-Node (AON) Diagram: Nodes represent activities, arrows represent
precedence relationships.
■ Activity-on-Arrow (AOA) Diagram: Arrows represent activities, nodes
represent events (start/completion of activities).
○ Critical Path Calculations:
■ Activities: Tasks that consume time and resources.
■ Events: Points in time that mark the start or end of activities.
■ Precedence Relationships: Dependencies between activities.
■ Time Estimates: Optimistic (a), Most Likely (m), Pessimistic (b) for PERT. Single
time estimate for CPM.
■ Expected Time (Te): For PERT, Te=(a+4m+b)/6.
■ Earliest Start (ES) / Earliest Finish (EF): The earliest time an activity can
start/finish.
■ Latest Start (LS) / Latest Finish (LF): The latest time an activity can start/finish
without delaying the project.
■ Slack (Float): The amount of time an activity can be delayed without affecting
the project completion time (LS−ES or LF−EF).
■ Critical Path: The longest path through the network diagram. Activities on the
critical path have zero slack and any delay on these activities directly delays the
entire project.
○ Resource Levelling:
■ Adjusting the start and finish times of activities to smooth out resource demand,
avoiding peaks and troughs in resource usage, without exceeding available
resources or significantly delaying the project.
○ Cost Consideration in Project Scheduling:
■ Crashing: Shortening the duration of activities on the critical path by allocating
additional resources, usually at an increased cost, to reduce the overall project
completion time.
■ Time-Cost Trade-off: Analyzing the relationship between project duration and
cost to find the optimal balance.