• No results found

2. 6 Search for integer solutions

x .

Odd functions are point symmetric about the point of origin (0 | 0).

- The function is symmetric to the axis of reflection y = x. This means:

E.2.27 Which of the following functions are equilateral hyperbolas, which are not? Explain your solutions.

2. 6 Search for integer solutions

In the meantime, Oliver worked on the small diagram and marked all integer points (see figure 2.15).

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Oliver: Well, didn’t I do a good job? We’ve already said that k andC have to be integer values, so I’ve marked all integer points. The points show combinations of k and C where both values are integer. If the function goes through one of these points, then we would have found a solution that yields an assembly line efficiency of one.

Nadine: But what do we do if there’s no solution that lies on the curve, as it is the case in our example? Then we have to accept that ALE = 1 cannot be achieved. I’ve an idea: We should decrease the assembly line efficiency and find out what happens to our function then. Let’s just try ALE = 0,9.

Nadine: You see? The constant in our function increased, since the ALE was reduced. So what happens to the function if the constant increases? Oliver, you’re good at drawing functions.

Please construct a diagram that contains the new function.

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Selina: The new function moved up and to the right and is a bit more flat. Let’s try another value, e.g. ALE = 0.5. Maybe we can see the movement more clearly then.

Number of Stations k 12

ALE = 0,5

Sebastian: So the function varies with each new value for the assembly line efficiency. We should write this down in general:

1 2 n1 n

Sebastian: The processing times bi are still constants, i.e. they’re fixed and don’t change in the course of our calculations. The ALE is a parameter in this function. This means, it can be chosen arbitrarily, but then is fixed for the calculations. The set of all functions that result from varying the assembly line efficiency is called a function family (→E.2.29).

Oliver: Stop it! You use all these technical terms.

Sebastian: Those are just the correct names. It’s good if we can use the right terms when we’re talking to our clients, isn’t it?

Nadine: You’re right. Let’s go on: We’re now looking for a function within this function family on which a solution to our problem can be found and that also has an as high as possible assembly line efficiency. But how can we get it?

Selina: First of all, I’d erase all points from the diagram that are out of the question. Those are for example the points that lie outside the bounds kmin, kmax, Cmin and Cmax.

Oliver: Good idea! We only mark the feasible solutions in our diagram. Those are the points that lie within the bounds. And since the ALE can never be greater than one, we can also omit the points below the curve.

Figure 2.18 Feasible solutions

Oliver: The closer a point is to the curve, the better. In the diagram you can see that one point is very close to the curve: (9 | 6). The assembly line efficiency of (9 | 6) is 53/(9⋅6) = 53/54 ≈ 0,981.

Selina: Great! So we’ve already found the solution, right? Six stations with a cycle time of nine minutes and an assembly line efficiency of 0,981. And that’s a very good value, isn’t it?

Sebastian: I agree with that. The other assembly lines of the Car Corp. have an assembly line efficiency of around 0,75 – 0,85, Mr. Wiedner said.

Selina: Good, then let’s write down the production schedule. We’ve to assign the jobs to the stations, and in doing so we’ve to keep in mind that no station can work longer than nine minutes.

0 2 4 6 8

Station 1 Station 2 Station 3 Station 4 Station 5 Station 6 Station 7

Bearbeitungsdauer [Minuten]

10

Figure 2.19 Diagram: With a cycle time of nine minutes seven stations are required

Selina: Oh no, it’s not working out with six stations! If we don’t want to exceed nine minutes, we’ve to set up seven stations. Now we’ve found the best combination of cycle time and number of stations and cannot realize it.

Sebastian: I haven’t thought about that! Sure, we’ve ignored the lengths of the jobs.

Oliver: That’s a pity, but we’ve other points that are also very close to the curve ALE = 1. These points have an assembly line efficiency which is hardly worse. Maybe we can realize one of these combinations (→E.2.30)?

Nadine: Well, so if we have to check several points, I suggest that we use the computer. The best is if we write a program for the computer that calculates all feasible solutions with the relevant assembly line efficiency and then sorts the points by assembly line efficiency in descending order.

According to this order we then can check whether the combination of cycle time and number of stations of these points can be realized.

Oliver: I’ll try to write an algorithm that gives us all feasible solutions.

So Oliver runs off to his computer and comes back a quarter of an hour later with the following algorithm.

Algorithm 2.1 Determination of the feasible points

Input: processing times pi, minimum output Omin, time frame P Output: feasible points ListFP

Cmax :=

Output: “The maximum production time per step is 0, i.e. the problem is infeasible.“

Then add the following element to ListFP:

1 2 1

Then Output: “There are no feasible points.“

Else Output: ListFP.

Oliver: I’m done! The algorithm gives us a list of feasible solutions. For each solution we get the cycle time, the number of stations and the assembly line efficiency.

Nadine: Could you please explain how the algorithm works?

Oliver: Of course, it’s not very complicated. First of all, the algorithm calculates all bounds that we’ve just worked out, this means Cmax, Cmin, etc. In the outer “while“-loop all feasible numbers of stations are examined. Then the inner “while“-loop generates the feasible cycle times for each number of stations. Afterwards time the assembly line efficiency is calculated for each pair of number of stations and cycle. If it is smaller than or equal to one, the algorithm saves this pair as a feasible solution.

Selina: So now we have to check the feasible solutions one after the other?

Sebastian: No way! We should also come up with an algorithm for this. How else can we sell our result to the Car Corp.? I don’t think that they want to calculate manually.

Oliver: Ok, I go right back to work.

Some time later, Oliver can provide an algorithm for checking the points.

Algorithm 2.2 Checking the feasible points

Input: processing times bi, feasible points ListFP

Output: feasible point with the best assembly line efficiency

1 2 n1 n

p p p

ALE i j

+ + +

= ⋅

p

Sort ListFP by the ALE in descending order (3rd element of the entries in the list)

i := 0

While i < length(ListFP) do i := i + 1

point := ListFP[i]

CounterPS := 1 j := 0

While j < point[2] do j := j + 1 sum := 0 ok := 1

While ok = 1 and CounterPS n do If sum+bCounterPSpoint[1]

Then sum := sum + bCounterPS CounterPS := CounterPS + 1 Else ok := 0

End While ok If CounterPS = n + 1

Then Stop.

Output: „Point is the best feasible solution.“

End While j End While i

(→E.2.31)

Oliver: I’m done! This algorithm is a bit more difficult. Do you want me to explain how it works?

Sebastian: Sure, go ahead!

Oliver: This algorithm uses three “while“-loops. The outer loop goes through the entries of ListFP, which are the feasible solutions. Each feasible solution is examined and saved as point. Point is a vector and consists of three elements: cycle time, number of stations, assembly line efficiency.

The middle loop goes through the stations of the solution. Then in the innermost loop each station gets filled with jobs as long as the cycle time allows it. The parameter CounterPS shows the current job. Since at the beginning the feasible solutions were sorted by the assembly line efficiency the program can stop as soon as a solution is found where all jobs are scheduled.

Nadine: Clever. But if there were two solutions with the same assembly line efficiency, you’d only find one of them.

Oliver: That’s true. The best is if we ask the Car Corp., whether they want to find all equivalent solutions. It shouldn’t be too difficult to adjust the program.

Selina: That’s great! We simply let the computer do the work and we’ve got a solution.

Sebastian: Which solution do we get for the dates of the Car Corp.?

Oliver: I’ve already calculated it: The first solution from our list that can be realized is (9 | 7), a cycle time of nine minutes and seven stations.

Selina: I’ll draw the corresponding diagram:

0 2 4 6 8

Station 1 Station 2 Station 3 Station 4 Station 5 Station 6 Station 7

n]

10 Bearbeitungsdauer [Minute

Processing time [minutes]

Figure 2.20 Diagram for seven stations with a cycle time of nine minutes

Selina: Wait a minute, the diagram looks exactly like the previous one! We’ve again a cycle time of nine minutes. A little while ago, we’ve required six stations. That didn’t work out, it works with seven stations.

Sebastian: But it’s just by chance that the solution we’ve found first is the best.

Nadine: The assembly line efficiency is 84,13%. The whole production time of a sports car is 9 · 7

= 63 minutes and seven cars can be processed at then same time.

Sebastian: So this is the highest assembly line efficiency that can be obtained for our problem.

Thus we’ve found an optimal solution! We could only get a better assembly line efficiency if we changed the technical data, e.g. split up or speed up the jobs.

Selina: Wouldn’t this be a possibility for another job? We could analyze where it’s profitable to modify the technical data.

Oliver: First let’s see if we give a good impression with our result. It would be great if we analyzed the other assembly lines as well.

Nadine: And we could solve the question, if a reorganization is profitable, mathematically. For each line we’d only need the costs of reorganization for one job, the remaining time, the increase of efficiency and thus the economies…

Selina: I still like blue the best, what do you think?

Nadine: Pardon?

Selina: Blue! For the car!

Nadine: ....

Selina: Well, if we do that many jobs for the Car Corp., we’ve already worked hard enough to get the new car! Wouldn’t that be great? We need a company car!

Oliver: And on the weekend we simply share the car.

Sebastian: O.K., let’s get back to work then! Who’s going to write the field report?

Oliver: Sebastian, that’s very kind of you; it’s a great idea that you’re going to write the report!

Nadine: And please mention that we’ve many new ideas for improvement, the Car Corp. would be a good customer for us.

Selina: Bye Sebastian, and don’t work too long!

Sebastian: But, I didn’t mean it that way...

Selina: Exactly, neither did we. Of course we’ll write the report together, but right now we’re going to celebrate our success.

Exercises

E.2.29 Draw the function family k(T) fort he values from E.2.17 and ALE {1; 0,8; 0,5}.

Therefore choose 1 for the length of the x-axis and 600 for the length of the y-axis.

E.2.30 Which of the following combinations can be realized if the values from E.2.17 are given?

a) (13 │ 4) b) (14 │ 4) c) (15 │ 3) d) (16 │ 3) e) (26 │ 2) f) (27 │ 2) g) (28 │ 2) E.2.31 Use the algorithms 2.1 and 2.2 to obtain the best solution for an assembly line problem with the following dates:

p1 = 5, p2 = 6, p3 = 3, p4 = 7, p5 = 1, p6 = 5, p7 = 2, p8 = 3, Omin = 19, P = 170

Related documents