<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%%-------------------------------------------------------------
\newcommand{\ipalA}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
IPA\=L()                                \\
0. \&gt; bestBox = NULL                    \\
1. \&gt; nodeBox = universe                \\
2. \&gt; RIPAL(nodeBox, 1)                 \\
3. \&gt; return(bestBox)                  
\end{tabbing}
\end{minipage}}}
%%-------------------------------------------------------------
\newcommand{\ripalA}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
RIP\=AL(\=nod\=eBox\=, lev\=el)                           \\
0.  \&gt;  if(level == k)                                    \\
1.  \&gt;  \&gt; if(nodeBox is non-empty)                       \\
2.  \&gt;  \&gt; \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal)\\
3.  \&gt;  \&gt; \&gt; \&gt; bestVal = nodeBox$\to$maxval             \\
4.  \&gt;  \&gt; \&gt; \&gt; bestBox = nodeBox                        \\
5.  \&gt;  \&gt; return                                         \\
6.  \&gt;  for(i = 1 to m)                                   \\
7.  \&gt; \&gt; newNodeBox = nodeBox $\cap$ p(i, level)         \\
8.  \&gt; \&gt; RIPAL(newNodeBox, level+1)       
\end{tabbing}
\end{minipage}}}
%%-------------------------------------------------------------
\newcommand{\ripalB}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
RIP\=AL(\=nod\=eBox\=, lev\=el)                        \\
0.  \&gt;  if(level == k)                                 \\
1.  \&gt; \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal  \\
2.  \&gt; \&gt; \&gt; bestVal = nodeBox$\to$maxval              \\
3.  \&gt; \&gt; \&gt; bestBox = nodeBox                         \\
4.  \&gt; \&gt; return                                       \\
5.  \&gt;  for(i = 1 to m)                                \\
6.  \&gt; \&gt; newNodeBox = nodeBox $\cap$ p(i, level)      \\
7.  \&gt; \&gt; if(newNodeBox is non-empty)                  \\
8.  \&gt; \&gt; \&gt; RIPAL(newNodeBox, level+1)       
\end{tabbing}
\end{minipage}}}

%%-------------------------------------------------------------
\newcommand{\ipalD}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
IPA\=L()\= \hspace{0.1in} \=                      \\
0.  \&gt;  bestBox = NULL                            \\
1.  \&gt;  for(j = 2 to k)                           \\
2.  \&gt;  \&gt; grid[j]$\to$initialize(universe, gel)  \\
3.  \&gt;  \&gt; for(i = 1 to m)                        \\
4.  \&gt;  \&gt;  \&gt; grid[j]{$\to$}addPiece(p(i, j))    \\
5.  \&gt;  for(i = 1 to m)                           \\
6.  \&gt; \&gt;   nodeBox = p(i, 1)                     \\
7.  \&gt; \&gt;   RIPAL(nodeBox, 2)                     \\
8.  \&gt;  return(bestBox)                  
\end{tabbing}
\end{minipage}}}
%%-------------------------------------------------------------
\newcommand{\ripalD}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
RIP\=AL\=(nod\=eBox\=, lev\=el)                        \\
0.  \&gt;  if(level == k)                                 \\
1.  \&gt; \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal  \\
2.  \&gt; \&gt; \&gt; bestVal = nodeBox$\to$maxval              \\
3.  \&gt; \&gt; \&gt; bestBox = nodeBox                         \\
4.  \&gt; \&gt; return                                       \\
5.  \&gt;  boxset = grid[level+1]$\to$getBoxes(nodeBox)   \\
6.  \&gt;  ibox = boxset$\to$first                        \\
7.  \&gt;  while(ibox $\neq$ NULL)                        \\
8.  \&gt; \&gt; newNodeBox = nodeBox $\cap$ ibox             \\
9 . \&gt; \&gt; RIPAL(newNodeBox, level+1)                   \\       
10. \&gt; \&gt; ibox = ibox$\to$next
\end{tabbing}
\end{minipage}}}

%%-------------------------------------------------------------
\newcommand{\ripalEOLD}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\small
\begin{tabbing}
RIPA\=L(\=nod\=eBox\=, l\=eve\=l)                                        \\  
0.  \&gt;  if(level == k)                                                   \\
1.  \&gt;  \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal)                  \\
2.  \&gt;  \&gt; \&gt; bestVal = nodeBox$\to$maxval                               \\
3.  \&gt;  \&gt; \&gt; bestBox = nodeBox                                          \\
4.  \&gt;  \&gt; return                                                        \\
5.  \&gt;  cheapBound = 0                                                   \\
6.  \&gt;  for(j = level to k)                                              \\
7.  \&gt;  \&gt; cheapBound = cheapBound + grid[j]$\to$getCheapBound(nodeBox)  \\
8.  \&gt;  if((nodeBox$\to$maxval + cheapBound) $\leq$ bestVal)             \\
9.  \&gt;  \&gt;  return                                                       \\
10  \&gt;  tightBound = 0                                                   \\
11  \&gt;  for(j = level to k)                                              \\
12  \&gt;  \&gt; tightBound = tightBound + grid[j]$\to$getTightBound(nodeBox)  \\
13. \&gt;  if((nodeBox$\to$maxval + tightBound) $\leq$ bestVal)             \\
14. \&gt;  \&gt;  return                                                       \\
15. \&gt;  boxset = grid[level]$\to$getBoxes(nodeBox)                       \\
16. \&gt;  ibox = boxset$\to$first                                          \\
17. \&gt;  while(ibox $\neq$ NULL)                                          \\
18. \&gt; \&gt; newNodeBox = nodeBox $\cap$ ibox                               \\
19. \&gt; \&gt; RIPAL(newNodeBox, level+1)                                     \\       
20. \&gt; \&gt; ibox = ibox$\to$next
\end{tabbing}
\end{minipage}}}


%%-------------------------------------------------------------
\newcommand{\ripalEE}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\small
\begin{tabbing}
RIPA\=L(\=nod\=eBox\=, l\=eve\=l)                                        \\  
0.  \&gt;  if(level == k)                                                   \\
1.  \&gt;  \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal)                  \\
2.  \&gt;  \&gt;  \&gt; bestVal = nodeBox$\to$maxval                              \\
3.  \&gt;  \&gt;  \&gt; bestBox = nodeBox                                         \\
4.  \&gt;  \&gt; return                                                        \\
5.  \&gt;  boxset = grid[level]$\to$getBoxes(nodeBox)                       \\
6.  \&gt;  ibox = boxset$\to$first                                          \\
7.  \&gt;  while(ibox $\neq$ NULL)                                          \\
8.  \&gt;  \&gt; newNodeBox = nodeBox $\cap$ ibox                              \\
9.  \&gt;  \&gt; bound = 0                                                     \\
10. \&gt;  \&gt; for(j = level+1 to k)                                         \\
11. \&gt;  \&gt;  \&gt; bound = bound + grid[j]$\to$getBound(newNodeBox)          \\
12. \&gt;  \&gt; if((newNodeBox$\to$maxval + bound) &gt; bestVal)                 \\
13. \&gt;  \&gt;  \&gt; RIPAL(newNodeBox, level+1)                                \\       
14. \&gt;  \&gt; ibox = ibox$\to$next
\end{tabbing}
\end{minipage}}}

%%-------------------------------------------------------------
\newcommand{\ripalEEE}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\small
\begin{tabbing}
RIPA\=L(\=nod\=eBox\=, l\=eve\=l)                                        \\  
0.  \&gt;  if(level == k)                                                   \\
1.  \&gt;  \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal)                  \\
2.  \&gt;  \&gt;  \&gt; bestVal = nodeBox$\to$maxval                              \\
3.  \&gt;  \&gt;  \&gt; bestBox = nodeBox                                         \\
4.  \&gt;  \&gt; return                                                        \\
5.  \&gt;  boxset = grid[level]$\to$getBoxes(nodeBox)                       \\
6.  \&gt;  ibox = boxset$\to$first                                          \\
7.  \&gt;  while(ibox $\neq$ NULL)                                          \\
8.  \&gt;  \&gt; newNodeBox = nodeBox $\cap$ ibox                              \\
9.  \&gt;  \&gt; bound = 0                                                     \\
10. \&gt;  \&gt; j = level + 1                                                 \\
11. \&gt;  \&gt; covered = true                                                \\
12. \&gt;  \&gt; while((j $\leq$ k) and covered)                               \\
13. \&gt;  \&gt;  \&gt; bound = bound + grid[j]$\to$getBound(newNodeBox, covered) \\
14. \&gt;  \&gt;  \&gt; j++                                                       \\
15. \&gt;  \&gt; if(covered and (newNodeBox$\to$maxval + bound) &gt; bestVal)     \\
16. \&gt;  \&gt;  \&gt; RIPAL(newNodeBox, level+1)                                \\       
17. \&gt;  \&gt; ibox = ibox$\to$next
\end{tabbing}
\end{minipage}}}

%%-------------------------------------------------------------
\newcommand{\ripalE}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\small
\begin{tabbing}
RIPA\=L(\=nod\=eBox\=, l\=eve\=l)                                 \\  
0.  \&gt;  if(level == k)                                            \\
1.  \&gt;  \&gt; if(!bestBox or nodeBox$\to$maxval &gt; bestVal)           \\
2.  \&gt;  \&gt; \&gt; bestVal = nodeBox$\to$maxval                        \\
3.  \&gt;  \&gt; \&gt; bestBox = nodeBox                                   \\
4.  \&gt;  \&gt; return                                                 \\
5.  \&gt;  bound = 0                                                 \\
6.  \&gt;  for(j = level to k)                                       \\
7.  \&gt;  \&gt; bound = bound + grid[j]$\to$getBound(nodeBox)          \\
8.  \&gt;  if((nodeBox$\to$maxval + bound) $\leq$ bestVal)           \\
9.  \&gt;  \&gt;  return                                                \\
10. \&gt;  boxset = grid[level]$\to$getBoxes(nodeBox)                \\
11. \&gt;  ibox = boxset$\to$first                                   \\
12. \&gt;  while(ibox $\neq$ NULL)                                   \\
13. \&gt; \&gt; newNodeBox = nodeBox $\cap$ ibox                        \\
14. \&gt; \&gt; RIPAL(newNodeBox, level+1)                              \\       
15. \&gt; \&gt; ibox = ibox$\to$next
\end{tabbing}
\end{minipage}}}


%%-------------------------------------------------------------
\newcommand{\isolone}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
INIT\=IA\=L\_SO\=LUTI\=ON()                                          \\
0.  \&gt;  bestPt = NULL                                                \\
1.  \&gt;  for(i = 1 to k)                                              \\
2.  \&gt;  \&gt; boxPt = grid[i]$\to$getMaxPoint()                         \\
3.  \&gt;  \&gt; value = 0                                                 \\
4.  \&gt;  \&gt; covered = true                                            \\
5.  \&gt;  \&gt; j = 1                                                     \\
6.  \&gt;  \&gt; while((j $\leq$ k) and covered)                           \\
7.  \&gt;  \&gt; \&gt; value = value + grid[j]$\to$evaluatePoint(boxPt, covered) \\
8.  \&gt;  \&gt; \&gt; j++                                                    \\
9.  \&gt;  \&gt; if(covered and (!bestPt or (value &gt; bestVal)))            \\
10. \&gt;  \&gt; \&gt; bestPt = boxPt                                         \\
11. \&gt;  \&gt; \&gt; bestPt$\to$maxval = value                              \\
12. \&gt;  return(bestPt)					             
\end{tabbing}
\end{minipage}}}


%%-------------------------------------------------------------
\newcommand{\ipalB}{
\fbox{
\tt
\begin{minipage}[b]{.95\textwidth}
\footnotesize
\begin{tabbing}
IPA\=L(in\=itialBestBox)                \\
0. \&gt; bestBox = initialBestBox          \\
1. \&gt; if(bestBox  $\neq$ NULL)          \\
2. \&gt; \&gt; bestVal = bestBox$\to$maxval   \\
3. \&gt; nodeBox = universe                \\
4. \&gt; RIPAL(nodeBox, 1)                 \\
5. \&gt; return(bestBox)                  
\end{tabbing}
\end{minipage}}}
</pre></body></html>