Sunday 4 June 2017

Software De Algoritmo De Empacotamento Para Forex


O que é o packit 4 me packit 4 me é um serviço super simples e super incrível. Fornece uma API para embalagem 2D3D bin. O empacotamento pode ser usado para caixas de embalagem para departamentos de transporte, ou pode ser usado como uma forma de alocação conceitual de espaço. Isso pode ser para layouts de impressão ou outros tipos de alocação de material. As chamadas da API RESTful para o pacote 4 são super simples. Uma chamada de serviço e você terá a embalagem completa da JSON, permitindo que você saiba quais itens foram alocados para o que o bin e mais pacotes 4 me fornecerão HTML e Javascript necessários para conectar a sua página que mostra como os compartimentos são compactados em WebGL e A glória que é 3D Por enquanto, o pacote 4 eu é absolutamente GRÁTIS. Recebi uma tarefa para construir uma estimativa de envio que sugere o melhor alojamento de mercadorias no menor número possível de caixas: existe um conjunto finito de tamanhos de caixa retangulares conhecidos. Existem muitos retangulares arbitrários Item a ser embalado dentro das caixas As menos caixas devem ser usadas melhor. Porque o envio de duas caixas 1x1x1 é muito mais caro do que uma caixa 1x2x1. Esta deve ser a prioridade aqui. Também deve ser otimizado para usar as caixas menores como possível, como uma prioridade de segundo nível. (Por exemplo, se apresentado com uma escolha entre uma caixa maior e duas pequenas, deve escolher a caixa maior) Os itens podem ser girados para caber na caixa, mas a rotação deve ser limitada a incrementos de 45 no mínimo (nas minhas pesquisas Parece que algumas configurações permitem uma rotação de 45 graus para se encaixar melhor nas caixas retangulares dentro de uma caixa retangular maior), sendo 90 rotações o padrão a ser tomado. As caixas têm um limite de peso e os itens têm pesos arbitrários (por exemplo, um item que é tamanho é 1x1x1 pode ser mais alto do que outro item 2x2x2) Eu pesquisei um pouco e encontrei alguns algoritmos abstraídos na embalagem e o problema da mochila e vieram um pouco com o seguinte Variação de força bruta, semelhante ao algoritmo de melhor ajuste: classifique os itens em ordem de volume decrescente (maior primeiro) em uma lista de itens para embalar Para cada item nesta lista: Escolha a caixa menor que está na lista de caixas usadas e tem volume restante suficiente E limite de peso para se ajustar ao item (eu usarei o ajuste aqui para significar encaixe das dimensões e do peso) Se não houver tal caixa, crie uma nova caixa a partir do conjunto de conhecimentos dos possíveis tamanhos de caixa que é o tamanho mais pequeno que pode caber nos itens Dimensões e peso e adicione-o à lista de caixas usadas. Se uma caixa se encaixa no item (usando a função de ajuste abaixo), adicione-a à lista dos itens desta caixa e remova-a da lista de itens para encaixar, marcando sua posição relativa 3d dentro da caixa. Repita de 2.1 até que não haja item a ser montado na lista de itens para embalar. A função de verificação de ajuste usada no passo 2 acima: Verifique se o volume restante da caixa se encaixa no volume do item. Caso contrário, fale falso. Verifique se a soma de itens de caixa de peso mais o peso do item atual é menor ou igual ao limite de peso da caixa. Caso contrário, fale falso. Verifique a lista de itens das caixas para escolher a primeira coordenada da caixa que possui o componente Y mais pequeno e que tem espaço suficiente para a largura, profundidade e altura dos itens, considerando os outros itens colocados como espaço não disponível. Se o item não se encaixa na sua orientação atual, gire-o em uma das 6 rotações possíveis, não assumindo 45 rotações por simplicidade. (As rotações que resultam em tamanhos que já foram testadas podem ser ignoradas. Por exemplo, girar uma caixa 180 dá os mesmos dimmensions que a posição original porque todas as caixas e itens têm o mesmo tamanho para faces opostas e, portanto, podem ser ignoradas). Se o item Não foi rodado em todas as formas possíveis de volta à sua orientação original, tente novamente a partir do passo 3. Se todas as rotações, quando tentadas e sem ajuste, foram encontradas, considere a coordenada atual como espaço indisponível. Se não houver espaço disponível para verificar, fale falso. Caso contrário, tente novamente no passo 3. Eu quero saber se pode haver uma melhor solução para o meu problema, tendo em vista as restrições apresentadas. Isso parece funcionar na teoria, mas não o tentei no código. Desejo saber se estou indo na direção certa ou há formas melhores e performantes de fazer isso. As referências seriam excelentes. Eu encontrei uma API interessante de terceiros que faz o que eu quero, mas isso precisará ser desconectado, então não terei acesso a isso. Alguns exemplos são: Um exemplo de problema para resolver o mundo real seria: eu tenho 4 tamanhos de caixa WxHxD: 10x12x18, 12x16x24, 16x20x30, 24x32x40 Eu tenho uma ordem de 4 itens, sendo 1 do tamanho 6x8x10, 2x 22x14x30 e 1x 22x4x20 Como fazer Eu coloco esses itens em qualquer quantidade de caixas de um ou mais tamanhos usando menos caixas possível, usando as caixas mais pequenas possíveis e deixando menos espaço livre possível perguntado Oct 3 14 às 13:39 Boa pergunta. A embalagem real será feita por humanos, mas o software sugerirá a ordem de embalagem e a posição de cada caixa. Não exigirá experiência na embalagem para ver o layout fornecido e colocar os produtos dentro da caixa. Em primeiro lugar, algum tempo será gasto para se acostumar com isso, mas não exigirá pensar na melhor disposição. Ndash rcdmk Oct 8 14 at 12:37

No comments:

Post a Comment