Conceptual Stage Design Of Industrial Computer Science Essay

Published:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Conceptual design in the present era of limited resources forms an integral part of the structural design. Conceptual design relying on past experiences, can effectively guide a designer in making sensible decisions during the detailed design phase, thereby governing the economics of a project. Artificial Neural Networks mimic the qualities of a human brain as they are learning from past examples, can be used to guide a designer during the conceptual stage of design. The learning phase of neural networks is accomplished by backpropagation algorithm, in which the weights and biases of the network are determined iteratively based on the flow of training data through the network rendering the training error a minimum. The weights and biases are randomly initialized in a small range prior to training the neural network, which sometimes may lead the neural network to get stuck in local minima. Genetic algorithms being a stochastic search technique, aim at finding the optimal or near optimal solution to a given problem by carefully searching the solution space. Neural network training guided by genetic algorithm helps in finding the appropriate initial weights and biases, thereby assisting neural networks to reach a global minimum. The paper presents the use of search technique of genetic algorithm in finding the optimal neural network weights and biases for developing a robust decision support system for the conceptual stage design of industrial roof trusses.

Keywords: Artificial Neural Networks, Genetic Algorithms, Conceptual Design, Basic Wind Speed and Neural Network Weights.

Introduction

Roof trusses are often selected for structural systems with large-span requirements, such as industrial warehouses, airplane hangars, and athletic stadiums. These long spans create large, column-free spaces that can improve visibility and storage flexibility. Trusses meet these needs by using slender members to convert applied loads into tensile and compressive forces, thus reducing the amount of material a beam might require for the same span. Extremely efficient designs are desirable for economic feasibility therefore highest performing structural truss system are needed by performing optimization of roof trusses in an efficient and structurally rigorous manner. Truss optimization method explores a diverse range of truss topologies and geometries, while also optimizing the member sizes [1].

At the conceptual stage of the design process, there is usually very little time to consider all feasible alternatives before decisions have to be made and resources committed [2]. Conceptual design involves activities and decisions that are heuristic in nature and rely more on experience and judgment than on computation [3]. Conceptual stage of design though being the most complicated, offers the best opportunity for designers to propose efficient and innovative solutions. Decisions taken at the conceptual stage of design have an inverse relationship to the project costs. Correct decisions can lead to target oriented economical designs. Therefore economic success of the project is determined by the conceptual design developed at the initial stage [4]. Effectiveness of conceptual design is measured in terms of the cost and material saving achieved at the detailed stage of design. Judiciously done conceptual design aims at correctly estimating the resource requirements and guides the engineer in charge in taking sensible decisions. At conceptual design stage, human intelligence and past experience coupled with the computation power in the form of decision support system plays an effective and important role.

Computer programs for performing structural analysis and detailed design calculations have been in the market and used by practitioners for several years. However, there is still a scarcity of computer programs available to assist the engineers properly in the conceptual design of building structures [5]. In the present era of information technology revolution, the use of computers for structural engineering is not confined to detailed design stage including analysis, dimensioning, and numerical optimization of structural systems. The applications of computers in the area of computational intelligence, has given a holistic approach to structural designing in which the past experiences of the designer can be integrated with detailed design for creating decision support tools at the conceptual stage of design. The decision support system is analogous to a virtual human brain which helps to effectively take decisions based on prior knowledge and past experience.

In recent years, efforts have been made to computerize the initial design process using artificial neural networks (ANNs) as they can learn from available designs during the training process. Neural networks are interconnecting systems, which can be considered as simplified mathematical models functioning like the neuron patterns of the human brain. In contrast to traditional computing techniques, which are programmed with rules to perform a specific task, neural networks must be taught or trained through a training data set and create by itself the patterns and the rules governing the network. An artificial neural network (ANN) traditionally minimizes the absolute difference between target outputs and approximate outputs thereby resulting in approximate optimal solutions. Although computers perform better than artificial neural networks, for tasks based on precise and fast arithmetic operations, neural networks can be used in problems where the associations and the patterns between the input variables are unknown. Such a problem arises in the case of the weight of a truss which depends on various factors like basic wind speed, span, rise, centre to centre distance of trusses and number of panels. The capabilities of neural network have been used to draw a functional relationship between input and output variables in case of truss design, so as to create a decision support system for an engineer at the conceptual stage of design to optimally design a truss having minimum weight.

A neural network is characterized by its architecture that represents the pattern of connection between the nodes, its method of determining the connection weights, and the transfer function [6]. The architecture of feed forward network consists of three groups or layers: an "input layer" connected to single or multiple "hidden layer/s", which is ultimately connected to the "output layer". The neural layers are composed of nodes which act as computational units. The connections between the nodes carry a factor called the "weight" of the neural network. The strength of the input to the nodes is governed by the value of these weights. Weights can have positive or negative values. A positive weight value leads to the forward propagation of information, whereas a negative value inhibits the signal. The nature of information processing of a neuron is thus governed by the neural network weights. Normally the weights and biases are randomly initialized to small values during the training phase, which lead the neural network getting stuck in a local minimum. This deteriorates the generalization capabilities of the Neural Networks when subjected to unseen data.

Evolutionary Computation presents a novel algorithm based approach for solving multifaceted problems related to identifying optimal or near optimal solutions for a given problem influenced by several parameters and associated constraints. One of the algorithm based search and optimization technique is the Genetic Algorithms. A genetic algorithm provides an amalgam of exploration and exploitation, meaning extensively searching space and intensively concentrating on the global optimum. Genetic algorithms can rapidly identify discrete regions within a large search space to concentrate searching for the optimum solution [7]. Genetic Algorithms are intelligent search tools as they focus on the regions of global optima, by cleverly manipulating the tools of biological evolution viz., mutation and crossover. The paper investigates the capability of genetic algorithms in optimizing the neural network weights and biases for enhancing the generalization capabilities of artificial neural networks, thereby assisting the development of a robust decision support system for conceptual stage of design.

Artificial Neural Networks and Conceptual design

ANNs are computational systems whose architecture and operation are inspired from our knowledge about biological neural cells (neurons) in the brain. ANNs can be described either as mathematical and computational models for nonlinear function approximation, data classification, clustering and non-parametric regression or as simulations of the behavior of collections of model biological neurons. [8] analyses several factors which have created the interest in Artificial Neural Networks (ANN), the most important being the promise of certain information processing characteristics apparent in the brain which cannot be simulated within the conventional computing environment. These networks can generalize very well and are fault tolerant to a great extent as there are multiple sources of knowledge to apply to the problem at hand [9]. The reliability level of the network can be increased by increasing the number of training data sets [10].

Conceptual design lays a framework for problem development and offers a flexible methodology inspired by past knowledge and intuitive thinking. It forms a link between a design idea and a final detailed design. Though iterative in nature, it gives an opportunity to the client to choose the best alternative among a group of proposals. Throughout this phase, there is almost no interference of computers in designing. However, computational intelligence in the form of neural networks can assist a designer in making sensible decisions. The capabilities of neural networks to learn from past knowledge can play a decisive role in the success of conceptual stage of design. Artificial neural networks learn from examples and capture subtle functional relationships among the data even if the underlying relationships are unknown or hard to describe [11]. They also continue to improve their performance by adapting to changing scenario when subjected to variation in the presented information. Once appropriately trained, the neural networks can cater to the requirements of an engineer by acting as a decision support system at the conceptual stage of design. Since it does not depend upon any assumption regarding the data and it is robust to chaotic behavior of the data, ANN has opened up new avenues to pattern recognition and forecasting related to complex natural processes [12].

Neural networks thus allow the human creativity and intuitions to be incorporated in the learning process. For this reason, artificial neural networks are interesting to structural engineers as a tool to support their task related to modeling and prediction of behavior of engineering and natural systems [13]. As far as they have been applied, they have provided convenient and often highly accurate solutions to problems from all branches of civil engineering [14]. Artificial Neural Networks (ANN) has been successfully applied to simple conceptual design problems [15], [16], [17]. [18] showed that a neural network may be the best alternative to develop an accurate decision support system for preliminary selection of structural systems. Recently capabilities of neural network have been utilized by [19],[20],[21],[22],[23],[24],[25],[26],[27],[28].

Genetic Algorithm assisted training of Artificial Neural Networks

The feed forward neural networks are the most popular type of neural networks used for approximating a functional relationship between the input and output variables. The training of such networks is accomplished by flow of information from the database in the forward direction leading to the learning of the neural network. The weights of the neural network are randomly initialized to small values prior to training. The output of neural network is compared with the actual output and training error is computed. The backpropagation algorithm uses the gradient descent search to update the weights and bias so as to minimize the training error. As the network trains, there is an automated reorganization in the hidden layers thus enabling the different nodes to capture the different features of the input output data. The standard multilayer feedforward networks are capable of approximating any measurable function to any desired degree of accuracy, in a very specific and a satisfying sense [30]. The mechanism of simple feed forward backpropagation network is shown in Figure 1.

Validation of the trained neural network is done to check its generalization capabilities when subjected to unknown inputs. A well trained neural network will generate the outputs with minimum error. Inter-neuron connection strengths known as synaptic weights are used to store the knowledge [31]. Thus the probability of good generalization of neural networks lies in its weight initialization. The reason for this lies in the fact that each backpropagation cycle evaluates a different set of weights and biases leading to different generalization capability of the neural networks. It is equivalent to getting trapped in a set of local optima, wherein probability of finding global optima is rare.

According to [32] the application of ANN has rarely ventured beyond rudimentary problems such as simple function modeling and pattern classification. Therefore there is a need to broaden the scope of artificial neural networks. Integrating the neural networks with genetic algorithms can surely be a step beyond human cognitive skills. Genetic Algorithms are efficient and broadly applicable search procedures based on a stochastic approach which relies on a "survival of the fittest" strategy [33]. Genetic algorithms are good global optimization tools for problems having a number of sub-optimal solutions. Due to their parallel nature, genetic algorithms are able to produce multiple solutions to the problem governed by various parameters at a time. In genetic algorithms, from the initial population, a new population is produced by eliminating the weaker population. Hence as we proceed from one generation to the next and so forth, the quality of the solution increases. Genetic algorithms are used to generate fitter solutions to problems using techniques inspired by natural evolution, such as selection, mutation and crossover. As [34] note, this three-part process of selection, crossover, and mutation may seem to be nothing more than a random search algorithm which retains the best potential solutions. Thus genetic algorithm assisted training of neural network, explores the search space comprising of probable neural network weights and biases and brings forth the fittest solution which minimizes error between target and predicted values.

3.1 Exemplar patterns for Artificial Neural Networks

An ANN is an adaptive system that changes its structure based on external or internal information that flows through the network during the learning. For developing a system that is capable of producing accurate advice at the right time, sufficient, accurate, and comprehensive information should be used to train the network. In the present study an N-shaped truss is chosen to have different span, rise, center to center distance and number of panels. A span of 15 m, 20 m and 25 m is used for generating the data. The pitch or span to height ratio is taken as L/8 and L/10, where L is the span of the truss. Panels have been taken as 8 and 10 and center to center spacing of truss is taken as 3.0 m, 4.5 m and 6.0 m. The span, pitch and number of panels were varied to create twelve models of N-shaped roof truss. A typical N-shaped truss is shown in Figure 2.

Bureau of Indian Standards code IS: 875 (Part 3)-1987 provisions have been followed in calculating forces on the truss. Roof trusses are subjected to Dead load, Imposed or live load and wind load. The load due to wind is one of the most important loads to be considered in the design of roof trusses and other types of pitched roofs. The design wind pressure (pz) is given by Equation 1:

(1)

Where Vb = basic wind speed in m/Sec at height 10 m above the mean ground level,

k1 = probability factor (or risk coefficient),

k2 = terrain, height and structure size factor and

k3 = topography factor

The basic wind speed (Vb) is the wind speed measured in a 50 year return period. As per [35], six wind zones have been formed corresponding to the basic wind speed of 55, 50, 47, 44, 39 and 33 m/Sec respectively. In the present study three wind zones corresponding to wind speed of 55, 47 and 39 m/sec have been considered. The risk coefficient k1 has been assumed as 1.0 considering the mean probable life of the structure as 50 years and class of structure as general. Terrain, height and structure size factor k2, take into account the characteristics of the surface irregularities of an area which arise from natural or constructed features. The value of this coefficient is taken from [35] as 0.88. The topography factor k3 takes into account to acceleration of wind near the summits of hills or the crests of cliffs and deceleration of wind near the foot of cliffs, steep escarpment or ridges. In the present study it assumed that the structure is situated away from such geographical features and as such its value is taken as 1.0.

The wind force F acting in a direction normal to the individual structural element of the cladding unit is given by Equation 2. The force at each node is transformed into a vertical and horizontal component depending on the slope of the truss.

(2)

Where Cpe = external pressure coefficient as per [35]

and Cpi = internal pressure coefficient as per [35]

The weight of each truss model is evaluated using detailed analysis and design software, where truss geometry is created and forces acting in horizontal and vertical directions at each node are entered. An angle section ISA 20x20x3, which is the smallest angle section available, is chosen for all the members of the truss. The load combinations are chosen to account for the increase in the permissible stresses due to wind loads. The software is instructed to give the optimized weight of the truss taking into consideration that all members of the truss are safe under permissible stresses as per [36].

Neural Network Architecture and training parameters

Choosing optimal neural network architecture is the most challenging when it comes to balancing the learning and generalization capabilities of the network. A neural network with one hidden layer with a small number of hidden layer neurons may sometimes be very effective and can lead to good generalization. It depends critically on the number of training cases, the amount of noise, and the complexity of the function or the classification you are trying to learning [37]. Some "rules of thumb" acting as initial guidelines for choosing neural network architecture have been suggested by [38], [39], [40], [41]. In general, small sized networks, even though they show good generalization performance, tend to fail to learn the training data within a given a given bound, whereas large-sized networks learn easily the training data but yield poor generalization, unnecessary arithmetic calculations and high computation cost [42]. The neural network architectures have been chosen having minimum complexity with one and two hidden layers. The input layer neurons, hidden layer/s/neurons and output layer neuron for the present study have been depicted in Figure 3. The neurons in the hidden layer are varied to improve training and generalization of the neural networks.

In feed forward neural network each input behaves as an input neuron. These input neurons are connected to the hidden layer neurons, which are further connected to the output layer neurons. Each neuron has an activation function associated with it. [43] showed that a standard multilayer feedforward network can approximate any continuous function to any degree of accuracy if and only if the network activation function is not a polynomial. The log-sigmoid transfer function is commonly used in multilayer networks that are trained using the backpropagation algorithm because it is differentiable and minimizes the computation capacity for training [44], [45]. For easy of comparing the predicted and actual values of output, linear activation function is used for the output layer.

The neural network learning process is actually an iterative process which minimizes the error between the outputs and the targets by shifting weights and biases toward the optimum. [46] used Marquardt algorithm into the backpropagation algorithm for training feedforward neural networks. In the present study, Lavenberg Marquardt training function is used as an algorithm to train the neural network to recognize a particular pattern or to approximate a function based on the available data sets. The Lavenberg-Marquardt algorithm is based on two optimization techniques, the steepest descent algorithm and Newton's method. It combines the speed of the Newton algorithm with the stability of the steepest descent method [47]. The neural network architecture and the training parameters are shown in Table1.

Genetic Algorithm parameters

According to [48] "The genetic algorithm is a highly parallel mathematical algorithm that transforms a set (population of individual mathematical objectives typically fixed-length character strings patterned after chromosome strings), each with an associated fitness value, into a new population (i.e., the next generation) using operations patterned after the Darwinian principle of reproduction and survival of the fittest and after naturally occurring genetic operations (notably sexual recombination)". Every chromosome in the population represents a potential solution therefore the initial population size should be chosen to promote the best solution in the search space leading to global optimization of the problem. [49] remarked that at high population genetic algorithms promote only the best among the competing building blocks. Since higher population size involves greater computational time, hence critical value of population size should be chosen beyond which the quality of solution ceases to improve. Neural networks Model 1 to Model 7 are of different complexity involving different size of weight and bias matrices. In order to provide a chance to each chromosome or neural network weight/bias to be represented in the initial population, a variable initial population is chosen equal to the size of the weight/bias matrix. The evaluation of the fitness function for each chromosome gives a relative comparison between the good solutions (fitter chromosomes) and bad solutions (weaker chromosomes). In the present study mean square error (MSE) is chosen as the fitness function. This forms the basis of selecting the fitter chromosomes. Selection is implemented by eliminating low-fitness individuals from the population, and inheritance is implemented by making multiple copies of the high-fitness individuals [50]. In the present study roulette wheel selection is employed. The basic advantage of roulette wheel selection is that it discards none of the individuals in the population and gives a chance to all of them to be selected [51].

The power of genetic algorithms arises primarily from crossover and mutation [52]. Crossover helps in producing new solutions by incorporating the strengths of the parent chromosomes. Mutation by way of adding random diversity in the populations helps the algorithm to attain a larger exploratory space. Too high mutation rate increases the search space to a level that convergence or finding global optima becomes a difficult issue. Whereas a lower mutation rate drastically reduces the search space and eventually leads genetic algorithm to get stuck in a local optima. When used sparingly with reproduction and crossover, it is an insurance policy against premature loss of important notions [53]. [54] showed that high crossover & low mutation rate gives the best results. Selection operation based on the fitness function helps to identify the chromosome and extent to which they will be represented in the next generation.

Certain genetic algorithm parameter settings viz., population size, generations, crossover type, crossover rate, mutation types and mutation rate have been suggested by [55], [56]. In the present study a variable initial population size comprising of 22, 29, 36, 43, 50, 29 and 43 chromosomes is selected for neural network Model 1 to Model 7 respectively with mutation rate and crossover fraction as 1 % and 0.9 respectively.

3.4 Training of Neural Network Models

The dataset comprising of 108 data is randomized and the data is split into three parts to generate training data, validation data and testing data. The training data consist of 60 data and is used to adjust the weights and bias of the neural network. Supervised training of seven neural network models is performed assisted by genetic algorithms. The random initial population of chromosomes i.e. weights and bias is fed to the neural network model and performance of the neural network is measured in terms of mean square error (MSE) by comparing the target values and predicted output values as shown in Equation 3.

(3)

Where is the target or actual output, is the predicted or generated neural network output and is the number of data.

The fitter chromosomes are selected to form the next generation. The remaining chromosomes are altered using genetic algorithm operators comprising of crossover and mutation. The process is repeated by altering the chromosomes or weights/bias values to form the next generation of fitter chromosomes. The fitness value or MSE is evaluated for each generation of chromosomes and fittest chromosome value or weight/bias values are saved to be used as initial values for training the neural networks. The flowchart showing the training of artificial neural networks using genetic algorithms is shown in Figure 4.

To draw a comparison between genetic algorithms assisted training of artificial neural networks and training of neural networks using backpropagation algorithms, MSE values are plotted with respect to training epochs or cycles for each neural network model. The graphs showing the comparison between genetic algorithms assisted training of neural network and neural network training using backpropagation algorithm is shown in Figure 5. The genetic algorithm assisted training of neural networks, enables the neural networks to achieve a global minimum, thereby reducing the MSE. Figure 5 clearly depicts the reduction in MSE when the neural networks are trained using optimized initial weights/bias obtained through genetic algorithms.

Selection and testing of Neural Network Model

Neural Networks are prone to overfitting, which causes its learning ability to increase with training cycles and generalization capability to decrease after certain training cycles. Hence choice of perfect neural network architecture depends on its ability to balance the learning and generalization qualities. For assessing the robustness of the trained neural network, validation data set comprising of 29 data are used. Validation data sets are helpful in determining the optimal architecture of the neural network and determining the stopping point for backpropagation algorithm. The minimum neural network error (MSE) computed during the validation, is used for selecting optimal neural network model. The test data set comprising of 19 data is used to fine tune the selected neural network model and to assess the final error of the selected model. The procedure for selecting the neural network model is shown in Figure 6.

Neural networks Models 1 to 7 are validated and errors in each case are computed. A comparison of validation error for each neural network model trained using backpropagation algorithms and genetic algorithms are shown in Figure 7. The figure depicts a reduction in validation MSE when the neural networks are trained using genetic algorithms.

A graph is also drawn for minimum training error and validation error for each neural network model trained using genetic algorithms. Figure 8 shows that as the model complexity increases, the training error reduces but same is not the case during validation. The validation error reaches a threshold point, beyond which it starts increasing again. At this point the neural network tries to overfit the training data, yielding poor generalization with validation data. The validation error reaches a minimum of 0.048466 in case of Model 7 having two hidden layers with 4 neurons in first hidden layer and 3 neurons in second hidden layer. Neural network Model 8 thus has the best generalization capabilities among the neural network architectures selected for the study and is therefore selected for further fine tuning using the test data.

For evaluating the final error of the selected neural network model, the optimized initial weight/bias matrix already obtained for Model 8 using genetic algorithms, is used in training the neural network. Training data and validation data are combined to train the neural network. The testing of the selected neural network is performed using the test data. The performance error reaches a minimum of 0.015012566 during testing of the selected neural network Model 8. The fully trained neural network model is used for predicting the values for the entire data comprising of 108 data. A regression plot between target and neural network predicted output is shown in Figure 9. The regression plot clearly shows that the selected neural network model is robust enough in predicting the outputs to sufficient degree of accuracy. R2 value of 0.998 shows a strong correlation between the target values and ANN predicted outputs.

Conclusions:

In this modern day life, emphasis lies on economic and time saving tools, whether, it may be day to day life or design of large buildings. The use of computers has entered in each and every walk of life. With the advent of computers, now a day it is possible to harness the thinking process. Virtual human brain has now become a reality and is used in wide areas of applications. Artificial Neural Network enables to utilize the computational skills of computer to create a virtual human brain capable of thinking and sensible decision making. These networks can generalize very well and are fault tolerant to a great extent as these are multiple sources of knowledge to apply to the problem at hand. Neural Networks can be trained with known examples of a problem to 'acquire' knowledge about it. Once appropriately trained, the network can be put to effective use in solving unknown instances of the problem.

Thus, neural networks can be effectively utilized and trained to create a decision support system. Decision support system gives added knowledge to the user, to take intricate decisions at hand. These decisions are based on past experience and hence are quite fault tolerant and robust. The primary objective of this research effort is to produce optimal or near-optimal truss structures in a user-defined search domain.

The broad conclusions derived from the present study are:

The genetic algorithms stochastic search technique can help the Artificial Neural Networks in deciding the initial weights/biases. This in a way modifies the way in which a neural network searches for global minima. It cleverly manipulates the neural networks out of the local minima. Genetic algorithms assisted training of neural network lays the foundation of a robust neural network capable of good generalization by considerably reducing the validation error.

In the present study seven neural network architectures have been used. The Model 7 having weight matrix of size 43 gives good generalization as compared to Model 5 having weight matrix of size 50. Thus genetic algorithm guided search not only optimizes weight/bias matrix but also optimizes the complexity of neural network needed for good generalization.

Artificial neural networks (ANN) can be effectively trained using data from detailed analysis to provide reasonably accurate results at the conceptual design stage. The database with which the neural network is trained is its backbone. The more accurate is database, the more reliable are the results generated. A generalized database developed from the detailed design results encompassing all the possibilities of outcome, provides a robust decision support system. Furthermore there is no need to devise an algorithm in order to perform a specific task; i.e. there is no need to understand the internal mechanisms of that task.

The final selected and tuned neural network Model 7 can be readily used by engineers and designers, to provide the weight of the truss for different wind velocity, span, panels, rise and centre to centre spacing of trusses. This would strengthen the decision making capabilities of an engineer to decide the configuration of the truss at the conceptual stage of design, thereby enabling estimation of approximate resource requirement at conceptual design stage.

Writing Services

Essay Writing
Service

Find out how the very best essay writing service can help you accomplish more and achieve higher marks today.

Assignment Writing Service

From complicated assignments to tricky tasks, our experts can tackle virtually any question thrown at them.

Dissertation Writing Service

A dissertation (also known as a thesis or research project) is probably the most important piece of work for any student! From full dissertations to individual chapters, we’re on hand to support you.

Coursework Writing Service

Our expert qualified writers can help you get your coursework right first time, every time.

Dissertation Proposal Service

The first step to completing a dissertation is to create a proposal that talks about what you wish to do. Our experts can design suitable methodologies - perfect to help you get started with a dissertation.

Report Writing
Service

Reports for any audience. Perfectly structured, professionally written, and tailored to suit your exact requirements.

Essay Skeleton Answer Service

If you’re just looking for some help to get started on an essay, our outline service provides you with a perfect essay plan.

Marking & Proofreading Service

Not sure if your work is hitting the mark? Struggling to get feedback from your lecturer? Our premium marking service was created just for you - get the feedback you deserve now.

Exam Revision
Service

Exams can be one of the most stressful experiences you’ll ever have! Revision is key, and we’re here to help. With custom created revision notes and exam answers, you’ll never feel underprepared again.