1. Trang chủ
  2. » Luận Văn - Báo Cáo

Develop a project planning method based on building information model (bim) to optimally reduce activity overlaps and time cost

108 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

VIET NAM NATIONAL UNIVERSITY HO CHI MINH CITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY TU ANH NGUYEN DEVELOP A PROJECT PLANNING METHOD BASED ON BUILDING INFORMATION MODEL (BIM) TO OPTIMALLY REDUCE ACTIVITY OVERLAPS AND TIME COST Major: Construction Management Major code: 8580302 MASTER’S THESIS HO CHI MINH CITY, July 2023 THIS THESIS IS COMPLETED AT HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY – VNU-HCM Supervisor: Assoc Prof Long Duc LUONG Examiner 1: Assoc Prof Hoc Duc TRAN Examiner 2: Dr Cuong Viet CHU This master’s thesis is defended at HCM City University of Technology, VNU-HCM on July 13th, 2023 Master’s Thesis Committee: (Please write down full name and academic rank of each member of the Master’s Thesis Committee) Dr Thu Anh NGUYEN - Chairman Dr Minh Nhat HUYNH - Member, Secretary Assoc Prof Hoc Duc TRAN - Reviewer Dr Cuong Viet CHU - Reviewer Dr Chau Ngoc DANG - Member Approval of the Chairman of Master’s Thesis Committee and Dean of Faculty of Civil Engineering after the thesis being corrected (If any) CHAIRMAN OF THESIS COMMITTEE HEAD OF FACULTY OF CIVIL ENGINEERING Dr Thu Anh NGUYEN Assoc Prof Dr Tuan Anh LE VIETNAM NATIONAL UNIVERSITY-HO CHI MINH CITY HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness THE TASK SHEET OF MASTER’S THESIS Full name: Tu Anh NGUYEN Student code: 2171070 Date of birth: October 16th, 1999 Place of birth: Quang Nam, Vietnam Major: Construction Management Major code: 858032 I THESIS TOPIC: Develop a project planning method based on building information model (BIM) to optimally reduce activity overlaps and time costs Phát triển phương pháp hoạch định dự án dựa mơ hình thơng tin BIM để giảm tối ưu chồng lấn cơng tác thời gian – chi phí II TASKS AND CONTENTS: Optimization in Construction Project III TASKS STARTING DATE: February 2nd, 2023 IV TASKS ENDING DATE: June 10th, 2023 V INSTRUCTOR: Assoc Prof Long Duc LUONG Ho Chi Minh City, June 10th, 2023 ADVISOR HEAD OF DEPARTMENT Assoc Prof Long Duc LUONG Dr Long Hoai LE DEAN OF FACULTY OF CIVIL ENGINEERING Assoc Prof Dr Tuan Anh LE i ACKNOWLEDGEMENT I would like to express my deepest appreciation and gratitude to all those who have supported and contributed to the completion of my master thesis in Construction Management as part of the International Master Programs (IMP) at the Ho Chi Minh City University of Technology, Department of Civil Engineering First and foremost, I would like to extend my heartfelt thanks to my advisor, Assoc Prof Luong Duc Long Your guidance, expertise, and unwavering support throughout the research process have been invaluable Your profound knowledge and insightful suggestions have helped shape and improve the quality of this thesis I am truly grateful for your patience, encouragement, and dedication I would also like to express my sincere gratitude to the faculty members of the Department of Civil Engineering for their continuous encouragement, wisdom, and valuable inputs Their commitment to academic excellence and their willingness to share their expertise have greatly enhanced my understanding and knowledge in the field of Construction Management I would like to extend my appreciation to my fellow classmates and friends who have provided me with valuable insights, discussions, and support throughout my academic journey Your presence and camaraderie have made this experience enjoyable and memorable Additionally, I am deeply grateful to the staff and librarians at the Ho Chi Minh City University of Technology for their assistance and resources, which have greatly facilitated my research Finally, I would like to acknowledge my family for their unconditional love, encouragement, and understanding throughout my studies Their unwavering support has been the foundation of my success Thank you all once again for your guidance, encouragement, and support Tu Anh NGUYEN ii ABSTRACT With the rise in usage of building information modeling (BIM) systems, there is a greater demand for a construction schedule management system that can make more sophisticated decisions When there is a significant overlap between construction activities, it can lead to poorer performance in those areas As a result, a suitable construction timetable should be created to reduce the overlap of nearby construction operations One potential solution for this problem is an active system This research aims to provide a methodical approach and computer system for simulating an ideal construction timetable that eliminates overlapped tasks and improves operational performance The primary objectives of this study are to identify overlapping activities, apply fuzzy theory, and evaluate the risks associated with schedule overlap problems The genetic algorithm (GA) theory is also applied to optimize the overlap of high-risk activities The study created a four-dimensional (4-D) environment system that utilizes building information modeling (BIM), and it includes a scheduling simulator, as well as fuzzy and GA analysis tools To demonstrate the effectiveness of this approach, the study presented a case study based on a real project Keywords: BIM implementation in construction projects, 4-D modeling, ratio analysis of schedule overlaps, optimization of schedules using genetic algorithm, and time and cost management iii TÓM TẮT LUẬN VĂN THẠC SĨ Với gia tăng việc sử dụng hệ thống mơ hình hóa thơng tin xây dựng (BIM), nhu cầu hệ thống quản lý tiến độ xây dựng đưa định tinh vi ngày tăng Khi có chồng chéo đáng kể hoạt động xây dựng, dẫn đến hiệu suất lĩnh vực Do đó, cần tạo thời gian biểu xây dựng phù hợp để giảm chồng chéo hoạt động xây dựng lân cận Một giải pháp tiềm cho vấn đề hệ thống hoạt động Nghiên cứu nhằm mục đích cung cấp cách tiếp cận có phương pháp hệ thống máy tính để mô thời gian biểu xây dựng lý tưởng giúp loại bỏ nhiệm vụ chồng chéo cải thiện hiệu suất vận hành Mục tiêu nghiên cứu xác định hoạt động chồng chéo, áp dụng lý thuyết mờ đánh giá rủi ro liên quan đến vấn đề chồng chéo lịch trình Lý thuyết thuật tốn di truyền (GA) áp dụng để tối ưu hóa chồng chéo hoạt động rủi ro cao Nghiên cứu tạo hệ thống môi trường bốn chiều (4D) sử dụng mơ hình hóa thơng tin tịa nhà (BIM) bao gồm trình mơ lập lịch trình, cơng cụ phân tích GA mờ Để chứng minh tính hiệu phương pháp này, nghiên cứu trình bày nghiên cứu điển hình dựa dự án thực tế Từ khóa: Triển khai BIM dự án xây dựng, mơ hình 4-D, phân tích tỷ lệ chồng chéo lịch trình, tối ưu hóa lịch trình thuật tốn di truyền, quản lý thời gian chi phí iv AUTHOR’S COMMITMENT The undersigned below: Student full name: Tu Anh NGUYEN Student ID: 2171070 Place and date of born: Quang Nam Province, Vietnam, October 16th, 1999 Address: Binh Tan District, Ho Chi Minh City With this declaration, the author finishes his master’s thesis entitled “DEVELOP A PROJECT PLANNING METHOD BASED ON BUILDING INFORMATION MODEL (BIM) TO OPTIMALLY REDUCE ACTIVITY OVERLAPS AND TIME COST” under the advisor's supervision All works, ideas, and materials that was gain from other references have been cited correctly Ho Chi Minh City, June 10th, 2023 Tu Anh NGUYEN v TABLE OF CONTENTS TABLE OF CONTENTS v TABLE OF FIGURES viii TABLE OF TABLES x LIST OF ABBREVIATIONS xi CHAPTER 1: INTRODUCTION 1.1 General Introduction 1.2 Problem Statement 1.3 Object and Range of Study 1.4 Scope of the Study 1.5 Research Methodology 1.6 Structure of the Study CHAPTER 2: LITERATURE REVIEW 2.1 Definitions and Concepts 2.1.1 Schedule 2.1.2 Overlapping principle 2.1.3 Overlapping time impact 11 2.1.4 Overlapping costs and benefits 12 2.1.5 Overlapping Time-cost tradeoff 12 2.1.6 Fuzzy logic 13 2.1.7 Mamdani and Sugeno Fuzzy Inference Systems 14 2.1.8 BIM implementation in construction planning and scheduling 15 2.1.9 Optimization in Construction 16 2.1.10 Optimization Method 18 2.2 Genetic Algorithms 19 2.2.1 Genetic Operators 21 vi 2.2.2 Advantages of Genetic Algorithm 27 2.3 Previous research 27 CHAPTER 3: RESEARCH METHODOLOGY 29 3.1 Algorithm for Finding Overlapping Schedule in Project Activities 30 3.2 Fuzzy-Based Risk Analysis Algorithm 35 3.3 Algorithm for Optimizing Schedule Overlapping using Genetic Algorithm 40 3.3.1 Schedule optimization application process 40 3.3.2 Function and constraints utilized in the optimization of the project’s schedule 42 3.3.3 The process of generating an initial solution for the GA algorithms 43 3.3.4 Establishing the fitness function 44 3.3.5 Analysis of Genetic Algorithm operation 44 3.3.6 Tradeoff between the total cost of risk and the total overlapping duration 45 3.3.7 Pareto Front 46 3.4 System for Optimizing Schedule Overlapping using BIM-Based Simulation 46 CHAPTER 4: MODEL IMPLEMENTATION AND VALIDATION 48 4.1 Model Implementation 48 4.1.1 Case study 48 4.1.2 Case study – Bloomsdale Residence 62 4.2 Model validation 73 4.3 Result Discussion 73 CHAPTER 5: CONCLUSION AND RECOMMENDATION 75 5.1 Conclusion 75 5.2 Research contribution 75 5.3 Future works 76 REFERENCES 77 APPENDICES 81 vii ANNEX A: Case study detail work in MS Project 81 ANNEX B: Case study detail project time 82 ANNEX C: Case study detail risk analysis 85 ANNEX D: Proposed MATLAB code 87 80 [44] L S Kang, H S Moon, N Dawood, and M S Kang, "Development of methodology and virtual system for optimised simulation of road design data," Automation in Construction, vol 19, no 8, pp 1000-1015, 2010 81 APPENDICES ANNEX A: Case study detail work in MS Project 82 ANNEX B: Case study detail project time 83 Activity Duration (days) ES EF LS LF TF 5 2 41 43 36 5 10 10 10 12 41 43 31 10 43 46 36 12 15 43 46 31 10 16 40 46 30 16 20 46 50 30 20 23 53 56 33 10 20 24 50 54 30 11 24 26 54 56 30 12 23 26 56 59 33 13 26 29 56 59 30 14 10 14 46 50 36 15 15 19 46 50 31 16 16 17 66 67 50 17 16 22 56 62 40 18 22 27 62 67 40 19 10 19 29 50 60 31 20 19 26 63 70 44 21 16 17 69 70 53 22 11 29 40 59 70 30 84 23 27 30 67 70 40 24 29 34 60 65 31 25 34 39 65 70 31 26 10 17 10 17 27 17 20 17 20 28 17 20 64 67 47 29 20 23 67 70 47 30 20 23 20 23 31 23 25 48 50 25 32 25 31 50 56 25 33 25 30 52 57 27 34 30 32 57 59 27 35 30 34 64 68 34 36 34 36 68 70 34 37 32 34 59 61 27 38 34 36 61 63 27 39 23 30 23 30 40 30 37 30 37 41 31 36 56 61 25 42 36 41 61 66 25 43 14 37 51 37 51 44 51 56 51 56 45 36 43 63 70 27 46 41 45 66 70 25 85 47 31 32 69 70 38 48 36 38 68 70 32 49 56 63 56 63 50 63 68 63 68 51 68 70 68 70 ANNEX C: Case study detail risk analysis Activity Probability Intensity Output Risk degree Risk Cost $ 0.000 0.000 0.500 M 10 0.040 0.100 0.100 VL 200 0.200 0.100 0.100 VL 200 0.112 0.300 0.100 VL 50 0.060 0.100 0.100 VL 100 0.143 0.267 0.100 VL 50 0.411 0.267 0.319 L 370 0.580 0.450 0.467 M 350 0.401 0.600 0.400 L 400 10 0.568 0.600 0.444 M 450 11 0.270 0.650 0.350 L 350 12 0.437 0.633 0.423 M 300 13 0.270 0.500 0.179 VL 179 14 0.290 0.300 0.194 VL 100 15 0.504 0.375 0.402 M 100 86 16 0.181 0.500 0.100 VL 20 17 0.912 0.500 0.700 H 100 18 0.721 0.600 0.608 H 200 19 1.441 0.570 0.779 H 600 20 1.071 0.600 0.800 VH 800 21 0.181 0.500 0.100 VL 80 22 1.360 0.482 0.700 H 70 23 0.269 0.500 0.178 VL 50 24 0.664 0.520 0.575 M 300 25 0.545 0.480 0.433 M 433 26 0.692 0.300 0.500 M 100 27 0.299 0.433 0.200 VL 200 28 0.299 0.433 0.200 VL 200 29 0.401 0.600 0.400 L 150 30 0.401 0.600 0.400 L 400 31 0.259 0.600 0.300 L 300 32 0.697 0.533 0.598 M 40 33 0.561 0.540 0.447 M 447 34 0.273 0.550 0.255 L 255 35 0.550 0.525 0.437 M 437 36 0.227 0.500 0.140 VL 140 37 0.177 0.500 0.100 VL 100 38 0.227 0.500 0.140 VL 100 87 39 0.920 0.557 0.773 H 600 40 1.005 0.514 0.724 H 400 41 0.742 0.520 0.630 H 200 42 0.311 0.380 0.207 L 300 43 0.383 0.143 0.271 L 271 44 0.000 0.000 0.500 M 200 45 0.404 0.329 0.307 L 200 46 0.057 0.150 0.100 VL 50 47 0.138 0.600 0.300 L 50 48 0.148 0.500 0.100 VL 100 49 0.000 0.000 0.500 M 200 50 0.000 0.000 0.500 M 50 51 0.000 0.000 0.500 M 50 ANNEX D: Proposed MATLAB code clc; clear; % Main script % Define the network Activity = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 ,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]; Duration = [5,2,5,2,3,3,6,4,3,4,2,3,3,4,4,1,6,5,10,7,1,11,3,5,5,7,3,3,3,3,2,6,5,2,4,2,2,2,7, 7,5,5,14,5,7,4,1,2,7,5,2]; Predecessors = {[],1,1,3,2,4,[1,3],7,8,8,10,9,11,5,6,7,7,17,[14,15],[14,15],7,[12,13],[16,17,18] ,19,24,3,26,26,28,27,30,31,[30,31],33,33,35,34,37,30,39,32,41,[39,40],43,[37,38], [41,42],32,[21,37,38],[43,44],49,50}; Relationship = {{},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS','FS'},{'FS'},{'FS'},{'FS'},{'FS'},{' FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS','FS'},{'FS','FS'},{'FS'},{'F S','FS'},{'FS','FS','FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'} ,{'FS'},{'FS','FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS'},{'FS' 88 },{'FS','FS'},{'FS'},{'FS','FS'},{'FS','FS'},{'FS'},{'FS','FS','FS'},{'FS','FS'}, {'FS'},{'FS'}}; Lag = {[0],[0],[0],[0],[0],[0],[0,0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0,0], [0,0],[0],[0,0],[0,0,0],[0],[0],[0],[0],[0],[0],[0],[0],[0],[0,0],[0],[0],[0],[0] ,[0],[0],[0],[0],[0],[0,0],[0],[0,0],[0,0],[0],[0,0,0],[0,0],[0],[0]}; RiskMoney = [10,200,200,50,100,50,370,350,400,450,350,300,179,100,100,20,100,200,600,800,80,7 0,50,300,433,100,200,200,150,400,300,40,447,255,437,140,100,100,600,400,200,300,2 71,200,200,50,50,100,200,50,50]; % Calculate ES, EF, LS, LF, and TF [ES, EF, LS, LF, TF] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag); % Calculate SOR SOR = calculateSOR(ES, EF, Duration, Activity); % Display total initial SOR value disp('Initial SOR:'); disp(SOR); nvars = length(Activity); lb = zeros(1, nvars); % Define MaxTF MaxTF = max(TF); % Set the upper bound as the minimum of TF and MaxTF ub = min(TF, MaxTF); intCon = 1:nvars; % Define integer constraints % Define multi-33 fitness function fitnessFunctionWrapper = @(x) [objective2(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag), objective1(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag, RiskMoney), objective3(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag)]; % Print the results T = table(Activity', Duration', ES', EF', LS', LF', TF', RiskMoney', 'VariableNames', {'Activity', 'Duration', 'ES', 'EF', 'LS', 'LF', 'TF', 'RiskMoney'}); disp(T); % Find the critical path criticalPath = Activity(TF == 0); disp("The critical path is:"); disp(criticalPath); % Calculate project duration totalDuration = max(EF); disp("The total project duration is:"); disp(totalDuration); % Set GA options popSize = 500; maxGenerations = 500; crossoverFraction = 0.8; 89 stallGenLimit = 500; options = optimoptions('gamultiobj', 'PopulationSize', popSize, 'MaxGenerations', maxGenerations, 'StallGenLimit', stallGenLimit, 'Display', 'iter', 'PlotFcn', {@myGaplotPareto},'CrossoverFcn', @myCrossoverFcn); % Run the GA [xPareto, fvalPareto] = gamultiobj(fitnessFunctionWrapper, nvars, [], [], [], [], lb, ub, [], intCon, options); % Display Pareto front results disp('Pareto front results:'); disp([xPareto, fvalPareto]); % Sort Pareto front solutions based on the total overlap days [sortedFvalPareto, sortedIdx] = sortrows(fvalPareto, 1); sortedXPareto = xPareto(sortedIdx, :); % Find the best [minObjective1, [minObjective2, [minObjective3, solution for each objective idxObjective1] = min(fvalPareto(:, 1)); idxObjective2] = min(fvalPareto(:, 2)); idxObjective3] = min(fvalPareto(:, 3)); % Display the best solutions disp('Best solution for Objective 1:'); disp(['Total Overlap Days: ', num2str(minObjective1)]); disp('Movable Duration:'); movable_duration_obj1 = xPareto(idxObjective1, :); disp(movable_duration_obj1); disp(xPareto(idxObjective1, :)); disp('Best solution for Objective 2:'); disp(['Total Risk Money: ', num2str(minObjective2)]); disp('Movable Duration:'); movable_duration_obj2 = xPareto(idxObjective2, :); disp(movable_duration_obj2); disp(xPareto(idxObjective2, :)); % Find the best solution for Objective [minObjective3, idxObjective3] = min(fvalPareto(:, 3)); disp('Best solution for Objective 3:'); disp(['Total SOR: ', num2str(minObjective3, '%.4f')]); disp('Movable Duration:'); movable_duration_obj3 = xPareto(idxObjective3, :); disp(movable_duration_obj3); disp(xPareto(idxObjective3, :)); % Calculate new ES, EF, LS, LF, and TF for the best solutions [ES_obj1, EF_obj1, LS_obj1, LF_obj1, TF_obj1] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES + xPareto(idxObjective1, :)); [ES_obj2, EF_obj2, LS_obj2, LF_obj2, TF_obj2] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES + xPareto(idxObjective2, :)); [ES_obj3, EF_obj3, LS_obj3, LF_obj3, TF_obj3] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES + xPareto(idxObjective3, :)); % Create SOR table for objective SOR_obj3 = calculateSOR(ES_obj3, EF_obj3, Duration, Activity); % Create new tables for best solutions 90 T_obj1 = table(Activity', Duration', ES_obj1', EF_obj1', LS_obj1', LF_obj1', TF_obj1', RiskMoney', 'VariableNames', {'Activity', 'Duration', 'ES', 'EF', 'LS', 'LF', 'TF', 'RiskMoney'}); T_obj2 = table(Activity', Duration', ES_obj2', EF_obj2', LS_obj2', LF_obj2', TF_obj2', RiskMoney', 'VariableNames', {'Activity', 'Duration', 'ES', 'EF', 'LS', 'LF', 'TF', 'RiskMoney'}); T_obj3 = table(Activity', Duration', ES_obj3', EF_obj3', LS_obj3', LF_obj3', TF_obj3', RiskMoney', 'VariableNames', {'Activity', 'Duration', 'ES', 'EF', 'LS', 'LF', 'TF', 'RiskMoney'}); % Display the new tables disp('New table activity for best solution of Objective 1:'); disp(T_obj1); disp('New table activity for best solution of Objective 2:'); disp(T_obj2); disp('New table activity for best solution of Objective 3:'); disp(T_obj3); % Define objective functions function totalRiskMoney = objective1(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag, RiskMoney) % Calculate ES and EF for the given x values ES_opt = ES + x; [ES_opt, EF_opt, ~, ~, ~] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES_opt); % Calculate total risk money OverlapF = zeros(length(Activity)); for i = 1:length(Activity)-1 for j = i+1:length(Activity) OverlapF(i,j) = max(0, min(EF_opt(i), EF_opt(j)) - max(ES_opt(i), ES_opt(j))); end end OverlapRiskMoney = OverlapF * (RiskMoney' + RiskMoney); totalRiskMoney = sum(OverlapRiskMoney(:)); end function totalOverlapDays = objective2(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag) % Calculate ES and EF for the given x values ES_opt = ES + x; [ES_opt, EF_opt, ~, ~, ~] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES_opt); % Calculate total overlapping days OverlapDays = zeros(length(Activity)); for i = 1:length(Activity)-1 for j = i+1:length(Activity) OverlapDays(i,j) = max(0, min(EF_opt(i), EF_opt(j)) - max(ES_opt(i), ES_opt(j))); end end totalOverlapDays = sum(OverlapDays(:)); end function totalSOR = objective3(x, ES, EF, Duration, Activity, Predecessors, Relationship, Lag) 91 % Calculate ES and EF for the given x values ES_opt = ES + x; [ES_opt, EF_opt, ~, ~, ~] = calculateProjectTimes(Duration, Activity, Predecessors, Relationship, Lag, ES_opt); % Calculate SOR SOR = calculateSOR(ES_opt, EF_opt, Duration, Activity); % Calculate total SOR totalSOR = 0; for i = 1:length(Activity)-1 for j = i+1:length(Activity) totalSOR = sum(sum(SOR)); end end end function SOR = calculateSOR(ES, EF, Duration, Activity, ~) SOR = zeros(length(Activity)); for i = 1:length(Activity) for j = 1:length(Activity) if i ~= j % Calculate SOR based on different cases if ES(j) = EF(i) SOR(i,j) = (EF(i) - ES(j))/Duration(j); % Case elseif ES(j) >= EF(i) || EF(j)

Ngày đăng: 25/10/2023, 22:20

Xem thêm:

w