Автор: Пользователь скрыл имя, 27 Декабря 2011 в 14:59, курсовая работа
Задачи покрытия являются разновидностью задач упаковки, в которых условие непересечения заготовок заменяется на условие пересечения друг с другом и с границами области упаковки.
Постановка и математическая модель задачи
Метод решения, структограмма или пошаговое описание алгоритма
Описание параметров программы
Вычислительный эксперимент
Анализ результатов
for (int i=0;i<18;i++)
{ b[i]=c[i-(i/3)];
b[i+1]=c[i-(i/3)+1];
b[i+2]=c[num-((i/3)+1)];
}
b[18]=c[12];
b[19]=c[13];
break;}
case 50:
for (int i=0;i<48;i++)
{ b[i]=c[i-(i/3)];
b[i+1]=c[i-(i/3)+1];
b[i+2]=c[num-(i/3)-1];
}
b[48]=c[32];
b[49]=c[33];
break;}
case 100:
for (int i=0;i<99;i++)
{ b[i]=c[i-(i/3)];
b[i+1]=c[i-(i/3)+1];
b[i+2]=c[num-(i/3)-1];
}
b[99]=c[66];
}
upakovka(b);
case 3:{quick1(b,num);
c=new kusok[num];
for (int i=0;i<num;i++)
{ c[i]=b[i];
}
{
for (int i=0;i<18;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[num-((i/3)+2)];
b[i+2]=c[i-(i/3)];
b[18]=c[13];
b[19]=c[12];
break;}
case 50:
{
for (int i=0;i<48;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[num-((i/3)+2)];
b[i+2]=c[i-(i/3)];
b[48]=c[33];
b[49]=c[32];
break;}
case 100:
{
for (int i=0;i<99;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[num-((i/3)+2)];
b[i+2]=c[i-(i/3)];
}
upakovka(b);
case 4:{quick1(b,num);
c=new kusok[num];
for (int i=0;i<num;i++)
{ c[i]=b[i];
}
{
for (int i=0;i<18;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[i-(i/3)];
b[i+2]=c[i-(i/3)+1];
i=i+2;}
b[18]=c[13];
b[19]=c[12];
break;}
case 50:
{
for (int i=0;i<48;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[i-(i/3)];
b[i+2]=c[i-(i/3)+1];
i=i+2;
b[48]=c[33];
b[49]=c[32];
break;}
case 100:
{
for (int i=0;i<99;i++)
{ b[i]=c[num-((i/3)+1)];
b[i+1]=c[i-(i/3)];
b[i+2]=c[i-(i/3)+1];
i=i+2;
b[99]=c[66];
}
upakovka(b);
case 5:{quick1(b,num);
c=new kusok[num];
for (int i=0;i<num;i++)
{ c[i]=b[i];
}
{
{
for (int i=0;i<18;i++)
{
b[i]=c[num-((2*i/3)+1)];
b[i+1]=c[num-((2*i/3)+2)];
b[i+2]=c[i-(2*i/3)];
i=i+2;}
b[18]=c[7];
b[19]=c[6];
break;}
case 50:
{
for (int i=0;i<48;i++)
{ b[i]=c[num-((2*i/3)+1)];
b[i+1]
b[i+2]=c[i-(2*i/3)];
i=i+2;
b[48]=c[17];
b[49]=c[16];
break;}
case 100:
{ for (int i=0;i<99;i++)
{ b[i]=c[num-((2*i/3)+1)];
b[i+1]
b[i+2]=c[i-(2*i/3)];
i=i+2;
b[99]=c[23];
break
upakovka(b);
break
case 6:{quick1(b,num);
c=new kusok[num];
for (int i=0;i<num;i++)
{ c[i]=b[i];
}
Информация о работе Простые однопроходные эвристики для решения одномерной задачи покрытия