The Job Shop Scheduling Problem Computer Science Essay

The Job-Shop Scheduling Problem ( JSSP ) is one of the most hard jobs, as it is classified as NP-Hard job. In many instances, the combination of ends and resources exponentially increases the hunt infinite, and therefore the coevals of systematically good programming is peculiarly hard because we have a really big combinative hunt infinite and precedency restraints between operations. Exact methods such as the subdivision and edge method and dynamic scheduling take considerable calculating clip to obtain the optimal solution. We propose a new method for work outing JSSP utilizing intercrossed Particle Swarm Optimization ( PSO ) with Simulated Annealing and show its efficiency by the standard benchmarks of job-shop programming jobs.

Some of import points of PSO are how to stand for the agendas as atoms and to plan the operations for the representation in order to bring forth better consequences. Our experimental consequence shows that the new proposed job-shop scheduling algorithm is more robust and efficient than the bing algorithms.

Keywords: Job-Shop Scheduling Problem, Particle Swarm Optimization, NP-Hard Problem, Simulated Annealing

Introduction

The Job-Shop Scheduling Problem ( JSSP ) is one of the bing combinative optimisation jobs and it has been demonstrated to be an NP-hard job.

Get quality help now
Doctor Jennifer
Doctor Jennifer
checked Verified writer
star star star star 5 (893)

“ Thank you so much for accepting my assignment the night before it was due. I look forward to working with you moving forward ”

avatar avatar avatar
+84 relevant experts are online
Hire writer

In the job-shop programming job, each one of N occupations ( n1 ) must be processed go throughing through m machines ( M1 ) in a given sequence. ( Garey, 1976 ) . The sequence of thousand machines is different for each different occupation and can non be changed during the processing. When one occupation was processed on a machine, it can be considered as one operation, each occupation needs a combination of thousand operations ( oj1, oj2, aˆ¦ , ojm ) to finish the work.

Get to Know The Price Estimate For Your Paper
Topic
Number of pages
Email Invalid email

By clicking “Check Writers’ Offers”, you agree to our terms of service and privacy policy. We’ll occasionally send you promo and account related email

"You must agree to out terms of services and privacy policy"
Write my paper

You won’t be charged yet!

One operation is processed on one of m machines, and merely merely one operation can be processed at a clip. Any occupation can non disrupt the machine that is treating one operation of another occupation. Each machine can treat at most one operation at the same clip. The chief aim of the JSSP is to happen a agenda of operations that can minimise the maximal completion clip ( called makespan ) that is the accomplished clip of transporting entire operations out in the agenda for N occupations and m machines.

JSSP can be applied to the industry processing and effects truly the production clip and the cost of production for a works. During the past few decennaries, JSSP has attracted many research workers to develop algorithms. Because JSSP is an NP-hard job, it is hard to develop a perfect algorithm to happen a solution within a sensible clip particularly for higher dimensions. Recently, many research workers made usage of development algorithm to work out the job, such as Tabu hunt, Genetic Algorithm, Simulated Annealing, Ant Colony Optimization and Particle Swarm Optimization. In this paper, we focus on working atom drove optimisation algorithm to accomplish the better solution for JSSP.

Scheduling is loosely defined as the procedure of delegating a set of undertakings to resources over a period of clip ( Pinedo et al. 1999 ) . Effective programming plays a really of import function in today 's competitory fabrication universe. Performance standards such as machine use, fabricating lead times, stock list costs, run intoing due day of the months, client satisfaction, and quality of merchandises are all dependant on how expeditiously the occupations are scheduled in the system.

Several types of fabrication store constellations exist in existent universe. Based on the method of run intoing client 's demands they are classified as either unfastened or closed stores. In an unfastened store the merchandises are built to order where as in a closed store the demand is met with bing stock list. Based on the complexness of the procedure, the stores are classified as single-stage, single-machine, parallel machine, multi-stage flow store and multi-stage occupation store ( Lawler et al. 1993 ) . The single-stage store constellations require merely one operation to be performed on the machines. In multi-stage flow stores, several undertakings are performed for each occupation and there exists a common path for every occupation. In multi-stage occupation stores, an option of choosing alternate resource sets and paths for the given occupations is provided. Hence the occupation store allows flexibleness in bring forthing a assortment of parts.

The processing complexness additions as we move from individual phase stores to occupation stores. Assorted methods have been developed to work out the different types of scheduling jobs in these different store constellations for the different aims. These scope from conventional methods such as mathematical scheduling and precedence regulations to meta-heuristic and unreal intelligence-based methods ( Holland, 1992 ) .

Job store programming is one of the widely studied and most complex combinative optimisation jobs. A huge sum of research has been performed in this peculiar country to efficaciously schedule occupations for assorted aims. A big figure of little to medium companies still operate as occupation stores ( Lin et al. 2009 ) . Despite the extended research carried out it appeared that many such companies continue to see troubles with their specific occupation store scheduling jobs. Therefore developing effectual programming methods that can supply good agendas with less computational clip is still a demand. Most of the existent universe fabrication companies aim at successfully run intoing the client demands while bettering the public presentation efficiency.

Lin et Al. ( 2009 ) proposed a new intercrossed drove intelligence algorithm consists of atom drove optimisation, simulated tempering technique and multi-type single sweetening strategy is presented to work out the job-shop programming job. And besides it described about the rudimentss of Job-shop Scheduling Problem.

Huiyuan et Al. ( 2009 ) established a double resource ( machines and molds ) constrained occupation store scheduling job theoretical account, harmonizing to the existent factors of mass injection modeling treating occupation store scheduling. A heuristic active algorithm combined with precedence regulations is employed to give the solution. Bozejko et Al. ( 2009 ) developed a Job Shop Scheduling Problem utilizing Parallel Simulated Annealing Technique. Juang ( 2004 ) proposed a loanblend of Genetic Algorithm and Particle Swarm Optimization for Recurrent Network Design. In this paper the writer described how the hybridisation of GA with PSO overcomes each other 's disadvantages.

Ge et Al. ( 2007 ) presented a new intercrossed algorithm based on atom drove optimisation and simulated tempering for occupation store scheduling job. Beasley ( 1990 ) was developed an OR-Library and it is a aggregation of trial informations sets for a assortment of Operations Research ( OR ) jobs. The benchmark jobs are taken from this OR-Library. Several research workers have addressed the importance of work outing Job-shop Scheduling Problems, which will assist in solve existent universe jobs in industries and to schedule their occupations absolutely.

Particle drove optimisation ( PSO ) is developed by Kennedy and Eberhart in ( 1995 ) . The place of one atom is matching to a solution of the resolution job. Wishing a bird that flies to the nutrient, one atom moves its place to a better solution by harmonizing to the best atom 's experience and its ain experience. Every atom moves iteratively until the terminal of loops. We call this procedure as development procedure. At the terminal of loops, the place of best atom is the best solution of the resolution job. The original developed PSO is designed to seek solution in a uninterrupted infinite. Because PSO 's local hunt ability is weaker than planetary searching ability, in order to acquire better solution, some local hunt strategies should be integrated with the PSO. The proposed algorithm enhances the atom 's inquisitory ability and is suited to work out the JSSP.

Job-Shop Scheduling Problem

Job-Shop Scheduling Problem ( JSSP ) is among the hardest combinable jobs and it has been the topic of a important sum of literature in the Operations Research countries. The JSSP consists of N occupations and m machines. Each occupation must travel through m machines to finish its work. We consider one occupation consists of thousand operations. Each operation uses one of m machines to finish one occupation 's work for a fixed clip interval. Once one operation is processed on a given machine, it can non be interrupted before it finishes the occupation 's work. The sequence of operations of one occupation should be predefined and may be different for any occupation. In general, one occupation being processed on one machine is considered as one operation noted as Oji ( means jth occupation being processed on ith machine, 1jn,1iaˆ?m ) ( Garey et al. 1976 and Lawler et Al. 1993 ) . Each machine can treat merely one operation during the clip interval. The aim of JSSP is to happen an appropriate operation substitution for all occupations that can minimise the makespan Cmax, i.e. , the maximal completion clip of the concluding operation in the agenda of nA-m operations.

For an nA-m JSSP, the job can be modeled by a set of thousand machines, denoted by M= { 1,2, aˆ¦ , m } , to treat a set of nA-m operations, denoted by O = { 0,1,2, aˆ¦ , ( nA-m ) -1 } ( Lin et al. 2009 ) . The notations are as follows:

Nitrogen

: figure of occupations

Meter

: figure of operations for one occupation

Oi

: completed clip of operation I ( i=0,1,2, aˆ¦aˆ¦ ( nA-m ) -1 )

Ti

: processing clip of operation I on a given machine

Cmax

: makespan

The JSSP has n occupations to be processed on m machines and we assume the followers:

No machine may treat more than one occupation at a clip ;

No occupation may be processed by more than one machine at a clip ;

The sequence of machines which a occupation visit is wholly specified and has a additive precedency construction ;

Processing times are known ;

All occupations must be processed in each machine merely one clip.

Particle Swarm Optimization

Swarm Intelligence ( SI ) is an advanced distributed intelligent paradigm for work outing optimisation jobs that originally took its inspiration from the biological illustrations by teeming, flocking and crowding phenomena in craniates. Particle Swarm Optimization ( PSO ) incorporates teeming behaviours observed in flocks of birds, schools of fish, or droves of bees, and even human societal behaviour, from which the thought is emerged ( Kennedy, 2001 ) ( Clerc, 2002 ) .

Particle drove optimisation ( PSO ) is an evolutionary calculation technique developed by Kennedy and Eberhart in 1995 ( Eberhart R. C, 1995 ) . The atom drove optimisation construct originated as a simulation of a simplified societal system. The original purpose was to diagrammatically imitate the graceful but unpredictable stage dancing of a bird flock. Initial simulations were modified to integrate nearest-neighbor speed matching, extinguish accessory variables, and integrated multidimensional hunt and acceleration by distance ( Eberhart R. C, 1995 ) . At some point in the development of the algorithm, it was realized that the conceptual theoretical account was, in fact, an optimizer. Through a procedure of test and mistake, a figure of parametric quantities immaterial to optimization were eliminated from the algorithm, ensuing in the really simple original execution ( Eberhart R.C, 1996 ) .

The original PSO expression define each atom as possible solution to a job in D-dimensional infinite. The place of atom I is represented as

Each atom besides maintains a memory of its old best place, represented as

A atom in a drove is traveling ; hence, it has a speed, which can be represented as

PSO is similar to a familial algorithm ( GA ) in that the system is initialized with a population of random solutions. It is unlike a GA, nevertheless, in that each possible solution is besides assigned a randomised speed, and the possible solutions, called atoms, are so `` flown '' through the job infinite. Each atom keeps path of its co-ordinates in the job infinite which are associated with the best solution ( fittingness ) it has achieved so far. ( The fittingness value is besides stored. ) This value is called pbest. Another `` best '' value that is tracked by the planetary version of the atom drove optimizer is the overall best value, and its location, obtained so far by any atom in the population. This location is called gbest.

The atom drove optimisation construct consists of, at each clip measure, altering the speed ( speed uping ) each atom toward its pbest and gbest locations ( planetary version of PSO ) . Acceleration is weighted by a random term, with separate random Numberss being generated for acceleration toward pbest and gbest locations. There is besides a local version of PSO in which, in add-on to pbest, each atom keeps path of the best solution, called lbest, attained within a local topological vicinity of atoms. The ( original ) procedure for implementing the planetary version of PSO is as follows:

Initialize a population ( array ) of atoms with random places and speeds on vitamin D dimensions in the job infinite.

For each atom, measure the coveted optimisation fittingness map.

Compare atom 's fitness rating with atom 's pbest. If current value is better than pbest, so put pbest value equal to the current value and the pbest location equal to the current location in d-dimensional infinite.

Compare fitness rating with the population 's overall old best. If current value is better than gbest, so reset gbest to the current atom 's array index and value.

Change the speed and place of the atom harmonizing to equations ( 1 ) and ( 2 ) , severally:

Loop to step 2 until a standard is met, normally a sufficiently good fittingness or a maximal figure of loops ( coevalss ) .

The acceleration invariables c1 and c2 in equation ( 1 ) represent the weighting of the stochastic acceleration footings that pull each atom toward pbest and gbest places. Therefore, accommodation of these invariables changes the sum of `` tenseness '' in the system. Low values allow atoms to roll far from mark parts before being tugged back, while high values result in disconnected motion toward, or yesteryear, mark parts.

Early experience with atom drove optimisation ( test and mistake, largely ) led us to put the acceleration invariables c1 and c2 each equal to 2.0 for about all applications. Vmax was therefore the lone parametric quantity routinely adjusted, and frequently set it at about 10-20 % of the dynamic scope of the variable on each dimension.

Based, among other things, on findings from societal simulations, ( Eberhart R.C, 1998 ) it was decided to plan a `` local '' version of the atom drove. In this version, atoms have information merely of their ain and their neighbours ' bests, instead than that of the full group. Alternatively of traveling toward a sort of stochastic norm of pbest and gbest ( the best location of the full group ) , atoms move toward points defined by pbest and `` lbest, '' which is the index of the atom with the best rating in the atom 's vicinity. If the vicinity size is defined as two, for case, atom ( I ) compares its fittingness value with atom ( i-1 ) and atom ( i+1 ) .

Fake Annealing

Fake Annealing locates a good estimate to the planetary lower limit of a given map in a big hunt infinite. It is frequently used when the hunt infinite is distinct ( e.g. , all Tourss that visit a given set of metropoliss ) . For certain jobs, simulated tempering may be more effectual than thorough numbering provided that the end is simply to happen an tolerably good solution in a fixed sum of clip, instead than the best possible solution.

Fake Annealing ( SA ) is a random hunt technique that originates from the analogy between tempering procedure and the hunt for the lower limit in a general procedure. It was foremost developed by Kirkpatrick, et Al. ( 1983 ) who adapted the work of Metropolis, et Al. ( 1953 ) to constraint optimisation jobs. The SA algorithm starts with a indiscriminately generated set of initial solutions and at a high starting temperature 'T ' . The algorithm replaces the present solution with a solution from its vicinity if that solution is `` better '' than the current 1. A `` better '' solution in this algorithm could be the one whose nonsubjective map value is less / greater ( minimisation problem/maximization job ) than the current value, or sometimes even a value that is greater / lesser than the current one.

The latter solutions are accepted with a chance. The chance is a map of difference in nonsubjective map values and the temperature T. The value of temperature bit by bit decreases during the hunt procedure, thereby the solutions are replaced more figure of times at the beginning and less replacings occur towards the terminal of the procedure. The above stairss are repeated until a expiration standard is reached. This heuristic has a good ability to avoid the solutions being trapped in local lower limit because of the inclusion of the chance map. But the major defect of this algorithm lies in the high computational cost for obtaining an exact solution ( Wu and Wang, 1998 ) . Research on literature provides documents on the alteration of this algorithm to better the solution truth and convergence.

Figure.1. Simulated Annealing Flow chart

Algorithm

Start with the system in a known constellation, at known energy Tocopherol

T=temperature =hot ; frozen=false ;

While ( ! frozen ) {

repetition {

Perturb system somewhat ( e.g. , moves a atom )

Compute E, alteration in energy due to disturbance

If ( a?†E & lt ; 0 )

Then accept this disturbance, this is the new system config

Else accept possibly, with chance = exp ( -a?†E/KT )

} until ( the system is in thermic equilibrium at this T )

If ( a?†E still diminishing over the last few temperatures )

Then T=0.9T//cool the temperature ; make more disturbances

Else frozen=true

}

return ( concluding constellation as low-energy solution )

5. PROPOSED SYSTEM

Problem Representation

See the following 3x3 Job-Shop Scheduling Problem. The Operation times and machine ordination is shown in the undermentioned tabular arraies.

Table1. 3x3 JSSP Table2. Machine Allocation Table 3. Operation Timess

Occupations

Operationss

J1

O1

O2

O3

J2

O4

O5

O6

J3

O7

O8

O9

Occupations

Operation Timess

J1 ( O1, O2, O3 )

2

3

4

J2 ( O4, O5, O6 )

1

5

2

J3 ( O7, O8, O9 )

4

6

4

Machine Allotment

M1

M2

M3

O1

O3

O2

O5

O4

O6

O8

O9

O7

The executable Agenda for the above JSSP is 1,4,7,8,2,5,3,9,6. That is the operations are performed in the machines as of in the above agenda gives the makespan as 17, which is executable consequence for the give JSSP. The Gantt chart of the agenda 1, 4, 7, 5, 2, 8, 3, 6, 9 is given in Fig 2. In the proposed method we have taken the agendas as the atoms to work out the JSSP.

Time Slot

A

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

M1

O1/2

O8/6

O5/5

M2

O4/1

O3/4

O9/4

M3

O7/4

O2/3

O6/2

Figure.2. Gantt chart for Feasible Agenda

The seeking infinite is created in nA-m dimensions infinite for n occupations on m machines Job-Shop Scheduling Problem. The job solution is represented as a atom. The places of a atom consists of nA-m dimensions and is represented with nA-m existent Numberss. In order to imitate an operation substitution sequence of JSSP, the nA-m existent Numberss are transformed into an integer series from 1 to nA-m. Each whole number figure represents one operation index ( Oji,1jn,1iaˆ?m ) harmonizing to its telling in all nA-m existent Numberss. Fig. 3 illustrates an illustration of a representation of atom for a 3A-3 JSSP.

Atom

30.4

2.5

41.2

0.6

5.3

7.5

6.4

3.4

8.2

Integer Series ( i?°k )

8

2

9

1

4

6

5

3

7

( i?°k mod 3 ) +1

3

3

1

2

2

1

3

1

2

Operation Sequence

O31

O32

O11

O21

O22

O12

O33

O13

O23

Figure.3. Problem Representation.

Objective Function

The chief aim of the JSSP is to happen a agenda of operations that can minimise the maximal completion clip ( called makespan ) , that is the accomplished clip of transporting entire operations out in the agenda for N occupations and m machines. The Objective or fitness map takes the input as the figure of occupations, figure of Operations, Particle, Operation clip Sequence and Machine Sequence of the corresponding operation. Each Atom is assigned by an whole number figure ( i?°k ) by ranking the atom places ( existent Numberss ) in go uping order. And so execute ( i?°k mod No. of Jobs ) +1 operation to each i?°k to acquire the corresponding operation sequence of a Particle. The fittingness map produces the end product as a makespan value for the corresponding operation sequence.

Parameters taken

The undermentioned parametric quantities are taken for the PSO and SA algorithms to put to death the proposed algorithm to accomplish the optimum solution.

Table.4. Parameters taken

Parameters

Value Taken

Drove Size

200

C1

2.1

C2

2.1

Initial Temperature T

95000

Algorithm

The proposed algorithm for work outing JSSP is as follows

Initialize temperature T to a peculiar value.

Initialize the N figure of Particles by bring forthing nA-m existent Numberss for each Particle.

Find the Operation clip sequence and Machine sequence for N Particles.

Find the makespan value for each and every Atom utilizing the nonsubjective map and besides find the lower limit makespan value ( best ) among N makespan values.

Compare atom 's fitness rating with atom 's pbest. If current value is better than pbest, so put pbest value equal to the current value and the pbest atom equal to the current atom.

Compare pbest values of overall population and Set the minimal pbest value as gbest value.

Change the speed and place of the atom harmonizing to equations ( 1 ) and ( 2 ) , severally:

If gbest Atom is non changed over a period of clip

Find a new Particle utilizing temperature.

Accept the new Particle as best with chance as exp- ( a?†E/T ) , even though current place is worse. Here a?†E is the difference between current best Atom 's makespan and new Particle 's makespan value.

Reduce T.

Loop to step 3 until a standard is met, normally a sufficiently optimum gbest or a maximal figure of loops.

Terminate if the maximal figure of loops is reached or optimum value is obtained. Belated

RESULTS AND DISCUSSION

In this paper, we have used 21 cases that are taken from the OR-Library ( Beasley, 1990 ) as benchmarks to prove our new proposed algorithm. In this algorithm we have taken 200 Particles as the initial population and temperature T as 95000.

We have used the Intel Pentium Core 2 Duo 3GHz Processor and 2 GB RAM constellation system with Windows XP as the platform to run this algorithm and achieved the undermentioned consequences. The CPU clip is the clip to happen the optimum agenda for the benchmark JSSPs from utilizing the above constellation machine. The proposed work gives the optimum solution for most of the benchmark jobs in considerable sum of CPU clip.

Table.5. Experimental Consequences

S No

Bench Mark Functions

Case Name

Size

Best Known Value

Obtained value utilizing Simple PSO

Goncalves et Al. ( 2005 )

Obtained Value utilizing Simple PSO with SA

( Simple PSO with SA )

CPU Time

1

FT06

6A A-A 6

55

55

55

55

45094

2

LA01

10A A-A 5

666

669

666

666

10154246

3

LA02

10A A-A 5

655

710

655

655

9180187

4

LA03

10A A-A 5

597

656

597

597

9020672

5

LA04

10A A-A 5

590

643

590

590

8956266

6

LA05

10A A-A 5

593

593

593

593

3828

7

LA06

15A A-A 5

926

930

926

926

1327718

8

LA07

15A A-A 5

890

981

890

890

15407610

9

LA08

15A A-A 5

863

919

863

863

15424641

10

LA09

15A A-A 5

951

952

951

951

1823625

11

LA10

15A A-A 5

958

958

958

958

48875

12

LA11

20A A-A 5

1222

1259

1222

1222

7479891

13

LA12

20A A-A 5

1039

1081

1039

1039

25368484

14

LA13

20A A-A 5

1150

1196

1150

1150

24501969

15

LA14

20A A-A 5

1292

1292

1292

1292

18734

16

LA15

20A A-A 5

1207

1385

1207

1207

24505391

17

LA16

10A A-A 10

945

1068

945

945

25145079

18

LA17

10A A-A 10

784

892

784

784

23979688

19

LA18

10A A-A 10

848

954

848

848

24118422

20

LA19

10A A-A 10

842

1015

842

842

24984847

21

LA20

10A A-A 10

902

1019

907

902

35645488

Our proposed algorithm generates the initial atoms utilizing random maps and by utilizing the intercrossed PSO and SA technique the atoms are scattered over the solution infinite. The proposed algorithm gives more diverseness of the atoms which leads to the solution in the lower limit acceptable CPU clip. The CPU times taken to accomplish the optimal consequences are high if the occupations and operations are more

The simple PSO algorithm gives the close optimal solution but it stagnates in the certain scope. Diversification is the job in PSO to accomplish the solution. Our Proposed work gives the optimal consequences for the 21 cases. For the case LA01 simple PSO gives 669 as the optimum solution but Simple PSO with SA method gives 666 as optimum solution.

Goncalves et Al. ( 2005 ) gives optimum Solution for most of the benchmark jobs. But our proposed algorithm gives the optimum solution within a minimal considerable sum of clip. We ca n't compare the calculation times of Goncalves et Al. ( 2005 ) with our proposed work, because the system constellation is non alone.

Goncalves et Al. ( 2005 ) gives 907 as a makespan for the Instance LA 20, but it is non an optimum solution. But our proposed algorithm gives the optimum solution ( 902 ) . And besides our proposed algorithm gives optimum solution compared with the Simple PSO algorithm for the 21 cases which is shown in the Table 5.

CONCLUSION AND FUTURE WORK

In this paper, the hybridisation of Particle Swarm Optimization with Simulated Annealing is used to work out the NP-hard JSSP. This algorithm adopts the existent infinite as the hunt infinite and the Particle represents the substitution of all operations of all occupations. Uniting PSO and Simulated Annealing can contract the field of hunt and velocity up the rate of convergence continually in the optimizing procedure. It has higher seeking efficiency. It can besides get away from the local lower limits.

In the proposed algorithm, the job representation is simple and easy when compared with other heuristic methods. Besides this algorithm reduces the computational complexness. The experiment is conducted for population of size 200 Particles, and the optimum solution ( Best Known Solution ) in the hunt infinite is obtained for the benchmark jobs with the above mentioned system constellation. In the proposed algorithm, it is assumed that each operation of a occupation is to be completed on a individual machine.

The hereafter works may be to happen the methods to work out multi machine environment and the dynamic Job-Shop Scheduling Problem. Very high constellation machines are used to obtain the optimum solutions in the minimal clip period. Grid based algorithms will be found to happen the makespan of the Job-Shop Scheduling Problem. It will cut down the computational complexness and increase the public presentation and quality of the programming.

Updated: Jun 05, 2020
Cite this page

The Job Shop Scheduling Problem Computer Science Essay. (2020, Jun 02). Retrieved from https://studymoose.com/the-job-shop-scheduling-problem-computer-science-new-essay

The Job Shop Scheduling Problem Computer Science Essay essay
Live chat  with support 24/7

👋 Hi! I’m your smart assistant Amy!

Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.

get help with your assignment