26. september 2005 - 17:04
Der er
20 kommentarer
Matematik problem
Er der en herinde som kan klare lidt matematik ? Har 3 varer (kunne være 10 eller flere) hvordan optimerer/mixer jeg disse 3 så resultatet opnåes Skemaet skal forståes på denne måde: 100 kg af Vare 1 indeholder 10% A, 20%, 15% C, resten er ligegyldigt fyldstof. Altså - hvor mange kg skal man tage af hver vare, så man ender med 100 kg som indeholder 15% A, 12% B og 14% C Indhold: kg A B C Pris ------------------------------------------------------ Vare 1: 100 10 20 15 100 Vare 2: 100 0 10 20 150 Vare 3: 100 25 0 0 180 ====================================================== Resultat: 100 15 12 14 ??? Nogen forslag eller link til et sted som kan vise vejen ??
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
Slettet bruger
26. september 2005 - 17:10
#1
Slettet bruger
26. september 2005 - 17:11
#2
26. september 2005 - 17:28
#3
Hvis jeg forstår dit spørgsmål korrekt, har jeg dette foreslag. Hvis du skal finde 8% af 200. kr. kan man gøre sådanne. Du sætter en lining op der ser sådanne ud. x=8*200 (x er jo det vi skal finde) ------- 100 x= 16 kr. Kan det bruges? Nu skal vi finde
26. september 2005 - 17:34
#4
>arnely Nej - det er desværre ikke så simpelt, <wicez> er på rette spor, havde bare håbet nogen sad med et link som greb sagen an lidt mere fra bunden, (men måske er det bunden) - det matcher bare ikke lige mine matematik kundskaber.
26. september 2005 - 17:37
#5
grundliggende skal du vel have en implementering af simplex algoritmen i Java måske har jeg endda noget liggende
26. september 2005 - 17:40
#6
Jeg venter spændt, men bliver nødt til løbe 2-3 timer
26. september 2005 - 17:47
#7
Hehe... det kunne næsten ikke lyde mere som en opgave fra noget undervisning... så jeg giver dig kun et hint... det kan løses ved dynamisk programmering.. hvis du skal bruge en vejledende løsning skal du kigge på den algoritme der klare knap-sack-problemet.. :)
26. september 2005 - 19:43
#8
hov det er da ikke hverken LP eller knap sack der er bare 3 ligninger med 3 ubekendte !
26. september 2005 - 19:45
#9
0.10 x v1 + 0.25 x v3 = 0.15 x 100 0.20 x v1 + 0.10 x v2 = 0.12 x 100 0.15 x v1 + 0.20 x v2 = 0.14 x 100
26. september 2005 - 19:45
#10
10 x v1 + 25 x v3 = 1500 20 x v1 + 10 x v2 = 1200 15 x v1 + 20 x v2 = 1400
26. september 2005 - 19:45
#11
v1 = 40 v2 = 80 v3 = 44
26. september 2005 - 20:29
#12
>Arne, Jeg er vist ikke helt med v1 = 40 v2 = 80 v3 = 44 er det resultatet, 40 kg af v1 og 80 kg af v2 o.s.v. - det giver mere end 100 kg tilsammen. Der er normalt ca. 10 varer, hvoraf der skal vælges max. 4 til at sammensætte én vare til lavest mulig pris, der kan yderligere være det krav, at indholdet af "C" absolut ikke må overstige 14, hvor imod det ikke gør så meget selvom "B" når 12,5 Er vi ikke henne i noget LP ???
Slettet bruger
26. september 2005 - 20:33
#13
Vi er i LP, jo.
26. september 2005 - 20:47
#14
Lader spørgsmålet stå åbent et par dage, mens jeg forsøger at studere LP :)
26. september 2005 - 21:00
#15
er kravet =15% A, =12% B og =14% C ? eller <=15% A, <=12% B og <=14% C
26. september 2005 - 21:07
#16
Kravene er generelt: Der optimeres til 100 kg, MEN det må om nødvendigt godt svinge 10%, men helst ikke, optimalt +/- 0,1 A = MAX 15%, men ikke under 14,5% B = +/- 3% C = +/- 3% Der kan dog godt være min./max grænser på både B og C
Slettet bruger
26. september 2005 - 21:10
#17
Så er det jo præcis LP.
27. september 2005 - 00:22
#18
ikke helt normal LP
27. september 2005 - 00:22
#19
og det givne problem har så vidt jeg kan se ingen løsning
27. september 2005 - 00:23
#20
leg selv med: package september; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class Opt extends JFrame implements ChangeListener { private JPanel sliders; private JSlider slider1; private JSlider slider2; private JSlider slider3; private JPanel total; private JLabel a; private JLabel b; private JLabel c; public Opt() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(new BorderLayout()); slider1 = new JSlider(0, 100); slider1.setValue(33); slider1.addChangeListener(this); slider2 = new JSlider(0, 100); slider2.setValue(33); slider2.addChangeListener(this); slider3 = new JSlider(0, 100); slider3.setValue(33); slider3.setEnabled(false); sliders = new JPanel(); sliders.setLayout(new GridLayout(6, 1)); sliders.add(new JLabel("Vare #1")); sliders.add(slider1); sliders.add(new JLabel("Vare #2")); sliders.add(slider2); sliders.add(new JLabel("Vare #3")); sliders.add(slider3); getContentPane().add(sliders, BorderLayout.CENTER); a = new JLabel(); b = new JLabel(); c = new JLabel(); total = new JPanel(); total.setLayout(new GridLayout(1, 3)); total.add(a); total.add(b); total.add(c); getContentPane().add(total, BorderLayout.SOUTH); pack(); updateABC(); } private void updateABC() { int v1 = slider1.getValue(); int v2 = slider2.getValue(); int v3 = slider3.getValue(); int aval = (int) (0.10 * v1 + 0.25 * v3); int bval = (int) (0.20 * v1 + 0.10 * v2); int cval = (int) (0.15 * v1 + 0.20 * v2); a.setText(Integer.toString(aval)); b.setText(Integer.toString(bval)); c.setText(Integer.toString(cval)); } public void stateChanged(ChangeEvent e) { slider3.setValue(100 - slider1.getValue() - slider2.getValue()); updateABC(); } public static void main(String[] args) { Opt f = new Opt(); f.setVisible(true); } }
Kurser inden for grundlæggende programmering