Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Desafío matemático

Estas en el tema de Desafío matemático en el foro de Visual Basic clásico en Foros del Web. Hola: Necesito resolver un algoritmo matemático y estoy perdido, os explico: Tenemos las siguientes variables y constantes. ref(4) as string long(9,4) as integer can(9,4) as ...
  #1 (permalink)  
Antiguo 21/08/2006, 12:19
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Desafío matemático

Hola:
Necesito resolver un algoritmo matemático y estoy perdido, os explico:
Tenemos las siguientes variables y constantes.
ref(4) as string
long(9,4) as integer
can(9,4) as integer
resto(9,4) as integer
tot(9,4) as integer
Uds(4) as integer
Const Largo=2500
Const Grueso=10
Debe de calcular lo siguiente:
Por cada referencia ref(n), total 5
Todas las (long(n,n)+Grueso) que caben en (Largo), y que sobre el mínimo que lo guarda (resto(n,n))
y tiene que comprobarlas todas para ver la mejor solución
teniendo en cuenta las cantidades de cada (can(n,n)), sumar todas las medidas guardar en (tot(n.n))
y guardar el número de piezas = (Largo) en (Uds(n)).
Creo (no lo sé) esto se llama algoritmo combinatorio, pero no encuentro nada en la red.
Supongo que para alguien puesto en mates, será una chorrada, y por eso le pido ayuda.
Gracias de antemano a los que me respondan.
  #2 (permalink)  
Antiguo 21/08/2006, 12:52
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Por Dios! que desafío... me ganaré el nobel de matematicas si lo resuelvo
  #3 (permalink)  
Antiguo 21/08/2006, 16:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Si es tan facil por que no contestas con la solución, para los que no somos tan inteligentes como tú
  #4 (permalink)  
Antiguo 21/08/2006, 19:20
Avatar de black_devil  
Fecha de Ingreso: junio-2006
Mensajes: 89
Antigüedad: 17 años, 10 meses
Puntos: 1
Hola, a que se refiere grueso, largo, podrías hacer referencia a cada var y constante y despejarlas, y ver que info guardarian tus datos, son arrays cierto?
  #5 (permalink)  
Antiguo 22/08/2006, 01:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
A ver si te puedo aclarar:
Todas las var son arrays de 1 y 2 dimesiones.Todas los nº que se guardan en los arrays son medidas de longitud, excepto ref(nombre) que son referencias
Largo es una medida fija, a la cual hay que descontar las medidas de longitud que hay en Long(medida,referencia)+Gueso que es también medida de longitud, can(medida,referencia) son las cantidades de cada Long(medida,referencia). resto(medida,referencia) es donde se guarda las medidas que sobran despues de descontar las medidas Long(medida,referencia)+Gueso sumadas que caben dentro de Largo quedando el mínimo posible.
Quizás sea mejor explicarlo así:
Largo son barras de acero con longitud fija, a las que hay que cortar unas medidas + el grueso de la herramienta de corte, y el algoritmo debe calcular que combinación de medidas+grueso son las mejores para que sobre el mínimo posible que se acerque a 0, y comprobar todas las medidas * sus cantidades y guardar en un array las medidas que caben en cada barra y en que orden, y en otro las medidas del resto que queda en cada barra, y guadar en tot() la cantidad de barras necesarias. Y todo esto hacerlo por cada referencia de tipo de barra. Las dimensiones de las var en el ejemplo pueden variar, según la cantidad de medidas y referencias.
Gracias por tu interes, y espero que alguien que no quiera ganar un nobel de matemáticas, me pueda ayudar.
  #6 (permalink)  
Antiguo 22/08/2006, 09:42
Avatar de black_devil  
Fecha de Ingreso: junio-2006
Mensajes: 89
Antigüedad: 17 años, 10 meses
Puntos: 1
por lo que entendí, tienes barras de acero de medidas fijas y lo que se refiere al "grueso" es el ancho de la sierra de corte por decirlo así...
la idea es optimizar y gastar el mínimo posible de material? o no?, o sea que tienes la barra que mide 2500, pero en cms o en mm?, entonces ingresas una medida X y un grueso Y que seria long(X,Y) descontando esto a Largo = 2500 y cuando ingresas 1 medida X y el grueso se guardaría en una var de Can(X,Y) para contar las medidas y el grueso, bueno hasta ahi he captado, ahora me encuentro trabajando, sigamos con la ayuda...

saludos desde CHILE ...
  #7 (permalink)  
Antiguo 22/08/2006, 12:25
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Cita:
Iniciado por F_rank_cisco Ver Mensaje
Si es tan facil por que no contestas con la solución, para los que no somos tan inteligentes como tú
Por la actitud que tienes al plantear tu pregunta...

Gran desafio matemático!!!! (resuelvanme la tarea)

es diferente a...

hola amigos diculpen tengo que hacer x cosa y necesito algo de ayuda...
  #8 (permalink)  
Antiguo 22/08/2006, 14:11
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
No exactamente black devil, las medidas X todas son m/m y estan en una var Array long(X,Y), el grueso siempre es fijo es Const Grueso=10 y Largo

también Const Largo=2500, long(X,Y) son las medidas a optimizar y se guardan en Array tot(X,Y), Can(X,Y) son las cantidades de cada medida en

long(X,Y). Y todo esto es por cada referencia de tipo de barra, así como todos los Arrays en cada caso pueden tener diferentes valores de dimensiones,

por ejem. long(20,11), o long(31,9) se ajustan dentro del bucle con redim y al principio se asignan vacias por ejem. long(), Can() etc. Lo que lo complica

mucho es que hay que comparar todas las medidas que hay en long(X,Y), y pueden ser 9 o 20 y las posibilidades serían 2^9 = 512 o 2^20 = 1048576, o sea

no estamos hablando de cifras pequeñas por que el tiempo de cáculo puede ser enorme si el algoritmo no está muy optimizado, si así fuera sería una

chorrada utilizar un algoritmo.
Muchas gracias por tu interés, y si tienes alguna vez un problema sobre electrónica o grabación digital de sonido que es mi especialidad, cuenta conmigo

para lo que sea.
  #9 (permalink)  
Antiguo 22/08/2006, 14:28
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Aclaración a Developer9

Así es como lo harías tu Developer9, de acuedo, pero yo no soy tú, soy yo
No obstante vuelve a leerlo, y entiende que:
1º - "Desafío matemático", es obvio que lo es para mí, de lo contrario no sería tan estúpido de pedir una solución para un problema que conozco.

2º - "Necesito resolver un algoritmo matemático y estoy perdido, os explico:"
Creo que mi actitud está clara "estoy perdido"... a buen entendedor...
Sin embargo a Black Devil no me parece que le moleste mi actitud, al contrario se molesta en contestar a mi problema, y me pide mas datos para poder

enterder la idea, y si puede me ayudará estoy seguro, y por eso se lo agradezco de antemano aunque no lo consiga, por que la solución te aseguro que

no nada facil por que he investigado mucho antes de molestar a nadie.
Y repito si es tan facil dame la respuesta y quedaras como un señor, por que opinar gratis lo sabe hacer cualquiera.
  #10 (permalink)  
Antiguo 22/08/2006, 16:36
 
Fecha de Ingreso: agosto-2006
Mensajes: 13
Antigüedad: 17 años, 8 meses
Puntos: 1
Jose

loq entendi al repecto es q ay unas barras y ay q cortarlas de la manera mas eficiente, teniendo en cuenta q al cortar se pierde el pedaso del grosor de la cuchilla
el area de una barra rectangular es = area de la base por altura
area de la base = base * altura
si lo q varia es el largod e la barra, se remplazan los valores en la segunda derivada y se calculan los picos correspondientes a dichos valors
con respecto al calculo diferencial no recuerdo muy bien pero de lo q entendi esa es la solucion
la otra parte seira guardar los varoles en los repectivos arrays en internet y cualquier duda a la orden
  #11 (permalink)  
Antiguo 22/08/2006, 16:48
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Lo que pasa es que la gente aquí es ocupada (bueno, casi todos ) y en vez de resolver trivialidades podemos ayudar en casos serios, en vez de "desafíos matemáticos"

A mi hasta pereza me da leer sabiendo que la respuesta no lleva a nada productivo, el foro no es para jugar
  #12 (permalink)  
Antiguo 22/08/2006, 18:02
Avatar de black_devil  
Fecha de Ingreso: junio-2006
Mensajes: 89
Antigüedad: 17 años, 10 meses
Puntos: 1
ups, por favor pido un poco de orden para que no se "pierda" el foco de este post, gracias ...

saludos desde chile ...
  #13 (permalink)  
Antiguo 23/08/2006, 07:46
Avatar de tazzito  
Fecha de Ingreso: agosto-2006
Mensajes: 381
Antigüedad: 17 años, 9 meses
Puntos: 2
hola, a simplevista creo que F_rank_cisco necesita es una especie de algoritmo de optimizacion de cortes, lo cual en si me parece bastante interesante, y no Trivial ni simple, de echo creo haber visto varias veces este tema en diferentes foros de VB y otros lenguajes, en cuanto a la perdida de tiempo :D, creo que es un foro de acceso publico, y si hablamos de perdida de tiempo para quienes trabajamos, tu me haces perder el mio leyendo cozas que no vinen al caso cuando en si me interesa saber si se llega a alguna solucion, jejeje y la forma simple de que tu no pierdas el tiempo es no leyendo la actualizacion del post.... en fin

ahora vamos a lo de F_rank_cisco mira en este enlace esta varias discusiones sobre el mismo tema en el foro de VB de Microsoft en español, la verdad no tengo tiempo para buscarte una respuesta especifica asi que te dejo a ti el camino de la lectura, espero te ayude

http://groups.google.cl/group/micros...e+corte&qt_g=1

Saludos desde Stgo., Chile
  #14 (permalink)  
Antiguo 23/08/2006, 12:15
 
Fecha de Ingreso: agosto-2006
Mensajes: 45
Antigüedad: 17 años, 8 meses
Puntos: 0
Por eso ya no me molesto en contestarle, lo de este hombre debe ser patológico.
Muchas gracias tazzito, seguiré ese hilo, y contestaré en este foro si encuentro la solución de este "trivial problema", por si a alguien le puede ayudar en algo.
y puesto que ser agradecido es de bien nacido, repito te lo agradezco mucho.
  #15 (permalink)  
Antiguo 24/08/2006, 07:08
jorevale
Invitado
 
Mensajes: n/a
Puntos:
Hola F_rank_cisco

Sobre el desafío no tengo nada que decir porque ni siquiera he tenido tiempo para analizarlo, sinceramente. Pero sobre el problema que has tenido con Developer9, si.

Los que llevamos mucho tiempo aqui conocemos ese knick (Developer9) como el de alguien que ha resuelto muchos problemas en este foro sin ofender a nadie con sus respuestas.

Independientemente de que su primera respuesta pueda ser tomada como una broma (o no), lo que si no puede ser tomado como una broma es esto:

"Si es tan facil por que no contestas con la solución, para los que no somos tan inteligentes como tú"

Aqui se equivoca todo el que considere que por poner un post con el título "Desafío..." ya los demás tienen la obligación de responderle, o de hacerle el trabajo.

Te aconsejo le eches un vistazo a las políticas del foro, y a esto:

http://www.sindominio.net/ayuda/preg...eligentes.html

Eso si quieres que las personas que llevan tiempo aqui, y que no conoces de nada, se preocupen por ayudarte a resolver tus problemas.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.