Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм плотного размещения прямоугольников / 22 сообщений из 22, страница 1 из 1
22.02.2009, 15:22:59
    #35831724
blaka zakata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
привет!!

высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера
просто посчитать площадь и поделить не прокатит,
т.к. часть из флаеров на этом листе можно размеситть горизонтально, а часть вертикально.

спосип.
...
Рейтинг: 0 / 0
22.02.2009, 16:23:49
    #35831763
Crazzy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
blaka zakata
высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера

произвольное количество
...
Рейтинг: 0 / 0
22.02.2009, 16:40:34
    #35831782
Aklin J
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Crazzyblaka zakata
высчитать сколько "флаеров" произвольного размера поместится на листе фиксированного размера

произвольное количество

несколько
...
Рейтинг: 0 / 0
22.02.2009, 16:40:55
    #35831783
Aklin J
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
наиболее вероятно - рекурсией.

4 8 15 16 23 42
...
Рейтинг: 0 / 0
22.02.2009, 17:57:44
    #35831848
Crazzy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Ну а если серьезно, то один к одному задача раскроя материала.
...
Рейтинг: 0 / 0
22.02.2009, 21:34:45
    #35831984
Q
Q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
А резать это все потом как!?

обычно в полиграфии в таких ситуациях тупо выбирают одну из двух возможных ориентаций...
...
Рейтинг: 0 / 0
23.02.2009, 11:28:30
    #35832290
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Если размер флаера большой по отношению к листу бумаги порядка 2:1 или 3:1 то тут задачка решается в уме. Просто приложить горизонтально или вертикально и посчитать сколько влезет. Если лист очень большой, то задача решается комбинаторно. Бросаем часть листов вдоль. Часть поперёк и смотрим остатки. Изменяем пропорцию. Минимизируем остатки. Это очень упрощённый алгоритм.

Вам повезло, что только прямоугольники.
...
Рейтинг: 0 / 0
23.02.2009, 11:45:13
    #35832305
AlexandrPlus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
QА резать это все потом как!?

обычно в полиграфии в таких ситуациях тупо выбирают одну из двух возможных ориентаций...

А вроде коммерческий софт, решающий задачу раскроя материала в мебельном производстве, в строительстве, в машиностроении, ... учитывает критерий стоимости непосредственной разрезки, судя по рекламным описаниям и что показывают на выставках. Причем помнится даже решают задачу, когда материал по размерам меньше и надо требуемое собирать из кусков по-больше.
...
Рейтинг: 0 / 0
23.02.2009, 12:23:46
    #35832367
Q
Q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
В мебельном производстве нет тиражей 50000+ экз. Там даже если раскройщик пару минут репу почешет, с какой стороны к размеченной заготовке подходить, на себестоимости это не сильно скажется. :)
А в полиграфии каждый лишний грамм геморроя в технологии -- нехилые убытки. :)
...
Рейтинг: 0 / 0
24.02.2009, 04:54:50
    #35833237
blaka zakata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
прикольна

но ниче не понял. честно.

неть уже готовых реализаций? на любом доступном языке программирования?
...
Рейтинг: 0 / 0
24.02.2009, 05:43:25
    #35833245
blaka zakata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
mayton

Вам повезло, что только прямоугольники.угу, тока они
...
Рейтинг: 0 / 0
25.02.2009, 14:20:48
    #35836687
Valer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
если флаер прямоугольник,
то у вас задача раскроя листового материала (ДСП, стекло)
они существуют и продаются
бесплатных не видел
сколько элементов надо размещать на листе?
если 20-30, то выложите пример ( исходных данных ) , попробую решить
если больше 50, то не надо
...
Рейтинг: 0 / 0
26.02.2009, 21:56:22
    #35840675
blaka zakata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Valerесли флаер прямоугольник,
то у вас задача раскроя листового материала (ДСП, стекло)
они существуют и продаются
бесплатных не видел
сколько элементов надо размещать на листе?
если 20-30, то выложите пример ( исходных данных ) , попробую решить
если больше 50, то не надо
лист - формат А3
флаер - пусть задается размерами W*H (ну, ширина и высота)
ширина - от 10 до 20 см
высота - тоже.

то естья всяко больше 50 флаеров на лист не влезет :)
...
Рейтинг: 0 / 0
26.02.2009, 21:56:37
    #35840676
blaka zakata
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
PS спосип
...
Рейтинг: 0 / 0
27.02.2009, 17:42:29
    #35843068
Valer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
я сам не хочу придумывать исходные данные
( у меня на моих данных все нормально )
размеры желательно в целых числах
выдайте размер листа 640 x 297
и список
1 12, 4
2 22, 5
...
30 14, 12
...
Рейтинг: 0 / 0
02.03.2009, 19:42:59
    #35847048
retty_jj_007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
blaka zakata,
если код (там 20 строк) еще нужен дай знать
...
Рейтинг: 0 / 0
11.04.2009, 14:01:46
    #35926254
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
retty_jj_007, если не жалко, выкладывай здесь, очень интересная задачка
...
Рейтинг: 0 / 0
12.04.2009, 11:56:48
    #35926766
Дональдак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Можно с помощью генетических алгоритмов решать. У нас в универститете на конференции как раз такую задачу девушка решала разными методами (вариации отбора генов).

Очень хорошие результаты получала, к тому же в ее программе можно было выбирать произвольные формы плоскости и фигур для заполнения плоскости.
...
Рейтинг: 0 / 0
13.04.2009, 00:42:36
    #35927314
anubys
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Как вариант, задача решается с помощью двойственного симплекс-метода, при условии, что известны несколько наиболее вероятных способов раскроя, среди которых надо выбрать оптимальный.
К сожалению, сюда текст с формулами не получится вставить. Но можно погуглить "Задача о раскрое материалов".
...
Рейтинг: 0 / 0
13.04.2009, 02:08:22
    #35927350
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
Меня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
...
Рейтинг: 0 / 0
27.05.2009, 18:04:44
    #36011579
retty_jj_007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
vinoМеня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
нах он тебе нужен; всё это хня
...
Рейтинг: 0 / 0
16.06.2009, 00:49:48
    #36042479
RT183
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
алгоритм плотного размещения прямоугольников
vinoМеня заинтересовал именно код в 20 строк, таких решений я еще не встречал, но интересно
retty_jj_007blaka zakata,
если код (там 20 строк) еще нужен дай знать
прошу прощения, vino, я был чудовищно невежлив. Вот код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;

int tcs, n, m, p, w, h;
int a[ 605 ][ 605 ];

int main() {
    //freopen("E:\\C++\\SPOJ\\TestData\\88.txt", "rt", stdin);
    //freopen("E:\\C++\\SPOJ\\TestData\\99.txt", "wt", stdout);
    scanf("%d", &tcs);
    while (tcs-- > 0) {
        scanf("%d %d", &m, &n);
        for (int i =  0 ; i <= n; ++i)
            for (int j =  0 ; j <= m; ++j)
                a[i][j] = i * j;
        scanf("%d", &p);
        for (int i =  1 ; i <= p; ++i) {
            scanf("%d %d", &w, &h);
            ////a[w][h] =  0 ;
            a[h][w] =  0 ;
        }
        for (int x =  1 ; x <= n; ++x) {
            for (int y =  1 ; y <= m; ++y) {
                for (int c =  1 ; c < y; ++c)
                    a[x][y] = min(a[x][y], a[x][c] + a[x][y - c]);
                for (int c =  1 ; c < x; ++c)
                    a[x][y] = min(a[x][y], a[c][y] + a[x - c][y]);
            }
        }
        printf("%d\n", a[n][m]);
    }

return  0 ;
} 
это под эту задачу: http://www.spoj.pl/problems/PHIDIAS/
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / алгоритм плотного размещения прямоугольников / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]