IBM

Direct Hot Charge Steel Scheduling

Contents

Introduction
Definition of Terms
Standard Operating Modes
The DHCR Facility
A DHCR Order
Objectives
Constraints
So how to we solve this problem?
Variable-Labeling Search
Different Tools for Different Problems
Using Variable-Labeling
Non-Dominated Sets
The EBB Search Algorithm
Using EBB Search for DHCR Scheduling
Scope of the DHCR Scheduling Prototype
Future Work
The Traveling Salesperson Problem


Introduction

This is an overview of model steel steel facility

A simple steel mill


Definition of Terms

Some common terms

tundish
one or more heats
heat
the amount of molten iron that can be converted to molten steel in one batch
caster string
a sequence of tundishes; the batch on the caster between caster turnarounds
round
a sequence of heats; the batch on the hot strip mill between roll changes
order
the basic input to be scheduled; it typically has a specification of type, quantity, and due date


Standard Operating Modes

cold charge
let the slabs cool all the way down to ambient; they must be reheated to be rolled
hot charge
let the slabs cool just a little; less reheating is necessary
direct hot charge
we try to get the slabs to the HSM as quick as possible (less than 20 minutes); some slight reheating may be necessary
direct rolling
the cast slabs go directly to the HSM; only the edges need to be slightly reheated


The DHCR Facility

The facility has the following characteristics


A DHCR Order

Each order contains the following information


Objectives

The objective is sequence the orders so that the constraints are not violated and find multiple solutions that span the space of objectives

It's most likely that you cannot simultaneously optimize all of them.

Spanning the space with a non-dominated set is the best approach because it allows the user to make the final decision among the best solutions.


Constraints

The following constraints must be satisfied:


So how to we solve this problem?

What about using an exhaustive search?

Given 5 coils to sequence, there are 5! = 120 permutations

Given 10 coils to sequence, there are 10! = 3.6 million permutations

Say we could do 1 evaluation per microsecond

Then we could do this problem in 3.63 seconds

Given 15 coils to sequence, there are 15! = 1.3 trillion permutations

At the same rate it would take 2.5 years to evaluate all the possible sequences.

Heuristic search is our only chance for this problem

Some people would tend to disagree. Other techniques include a variety of improvement algorithms (genetic algorithms, asynchronous teams) that start with a feasible or infeasible and improve it.


Variable-Labeling Search

This technique includes standard depth-first and breadth-first search.

Given n variables, { v1 , v2 , ... , vn } , each of which can take on values in a finite domain D of size k, we generate a graph of the possible combinations of value and discover this graph in a depth-first or breadth-first fashion. Example: n = 3, k = 6, D = d1, d2, ... , d6

A variable-labeling search tree

There are a variety of enhancements to these algorithms (like forward checking and back jumping).

These algorithms are very well studied and fairly well understood.


Different Tools for Different Problems

Problem: Given n vertices, k colors, and and adjacency list (or matrix), assign a color value to each vertex v such that no two adjacent vertices have the same color. This is called graph coloring.

Approach: Use depth first search.

Question: Can we apply these approaches to steel mill scheduling which is a kind of grouping/sequencing problem?

Answer: Probably not...

See the notes after the next slide for why probably not.


Using Variable-Labeling to Solve Sequencing/Grouping Problems

Given a set of elements E = { e1, e2, ... en } generate a set S = { s1, s2, ... sm } of m sequences, m <= n, so that

We can formulate this as a variable-labeling problem if we mark each element as belonging to a particular sequence s.

The main problem with this approach is that once a constraint violation is discovered, we can no longer extend a sequence without backtracking.

For a problem with n elements, there are n+1 possible arrangements of the sequences in the set. For example, for 4 elements, the set could contain 4 sequences of 1 element, 1 sequence with 3 elements and 1 with 1 element, two sequences of two elements, two sequences of 1 element and 1 sequence of two elements, or four sequences of 1 element. Since we are doing variable labeling and hence we define our variables in advance, we have to treat each one of these cases individually.


Non-Dominated Sets

A non-dominated set is a set in which the attributes of no element are either dominated by or dominate the attributes of another element.

For an element to dominate another element, at least one of its attributes must be better than the corresponding attribute of the other attribute, and none of its attributes can be worse than the corresponding attribute of the other element. Thus, an element can have some set of attributes that are better than the corresponding attributes of another element, but if one attribute is worse, than neither element dominates the other.

Non-dominated sets are useful for multi-objective optimization.

Given a non-dominated set that spans the objective space, the decision of which element to choose is left to a human.

Example: A set of three attributes [ slabInventory tardiness tundishChanges ] representing the goodness of a particular schedule.

We generate three schedules that form a non-dominated set

   A = [ -10000  -100 -25 ]
   B = [  -3000 -2500 -23 ]
   C = [  -5000 -3800 -17 ]

Depending on the needs of the business, a human may choose A, B, or C.


The EBB Search Algorithm

EBB is an edge-labeling search algorithm, not a variable-labeling algorithm.

The EBB search is better for sequencing and grouping applications.

An outline of the algorithm is

  1. Build set of initial links from initial solution
  2. Build the initial node from initial solution and call it the parent node
  3. Place the parent node on the best node stack
  4. Choose the best links of the parent based on topology and merit (a maximum of beamWidth) and push them on to the best links stack of the parent
  5. If there are more links on the stack of the parent, pop the next best link from the stack, otherwise attempt add the parent to the non-dominated set of best nodes, pop the next node off the node stack as the new parent and goto step 4
  6. Create a new node, the child, by cloning the parent, and committing best link
  7. If the parent has more links on the best links stack, put the parent on the node stack
  8. Make the child the new parent and go to step 4

This algorithm is currently a trade secret!!!


Scope of the DHCR Scheduling Prototype

The DHCR scheduling prototype does cover

The DHCR scheduling prototype does not cover

Using EBB Search for DHCR Scheduling

Form a matrix of cast grade and round type and sort the current and past due orders into the cells:

Note that some orders can be rolled in more than one round type.

The table is visited by rows in order of increasing row weight.

The cells within a row are visited in order of increasing cell weight.

Build segments from orders
Build heats from segments
Build rounds from heat sequences
Build round sequences from rounds
Build caster strings from round sequences
Build schedules from round sequences

All the things like ``try to do this'' are implemented via heuristics in canLink and doLink.

Spread and squeeze is a technique whereby we can cast a slab slightly wider or narrower than would be required by the specified width and gauge, assuming that the difference will be made up by either spreading or squeezing in the HSM.

This is a random procedure, analogous to putting all of the round sequences in a hat, and choosing them at random to build the HSM schedule.

The round sequences that we choose have to fit around the fixed maintenance schedule.

We do this repeatedly, throwing out the bad solutions and keeping the good solutions.

This algorithm is currently a trade secret!!!


Future Work


The Traveling Salesperson Problem

We are given a cost matrix mi,j giving cost of sequencing ej after ei. All values mi,j are finite

If mi,j = mj,i this is called a symmetric TSP, otherwise it is called asymmetric

The objective is find the lowest cost tour.

A reference on the TSP: The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization by E. Lawler, J. Lenstra, A. Rinnooy, and D. Shmoys. (John Wiley and Sons, 1985).



[ IBM home page | Order | Search | Contact IBM | Help | (C) | (TM) ]