Inlägg

Inlägg som kobb3 har skrivit i forumet
Av kobb3
Skrivet av sofha:

Okej, går det att få mer information från ampl? Just vart felet sitter eller vilket villkor det kan handla om?

Skickades från m.sweclockers.com

Rent generellt skulle jag säga nej i och med att det oftast är flera villkor som gör att problemet inte går att lösas. Har du dock tur kan det ju vara ett villkor som gör det och om du testar kommentera ut olika villkor eller ändrar gränserna för villkoren, dvs gör villkor lättare så kanske du kan hitta vart felet är. Eller så är problemet helt enkelt olösbart?

Min erfarenheter med AMPLE (egentligen är det ju en solver såsom cplex så kör ample koden) är att felmeddelandena är sjukt värdelösa.

Du kan alltid skriva hela din modell här och hur du köra den (datafiler, ampl filer etc) så kan jag kolla också.

Av kobb3
Skrivet av sofha:

Vad brukar vara orsaken när följande dyker upp i ampl-fönstret: ”Integer infeasible” ?

Det brukar ju betyda att ditt problem inte är lösbart, tex för att du har tänkt fel eller skrivit in ett villkor fel.

Av kobb3
Skrivet av striker1337:

Men jag har för mig att e-sparkonto är säkrare eftersom man kan inte koppla bank- och betalkort till ditt e-sparkonto så kontot står still bara i din internetbank (dosan) vilket är ju bra? enda sättet att röra på de pengarna är att någon ska logga in i din internetbank och överföra pengar eller på något sätt genom banken ta ut pegarna vilket jag tror är nästan omöjligt eftersom man ska fylla i massa paper så det kommer aboslut inte funka.

Även om man inte ska lämna ut sin banknummer så ska det endå vara ganska säker. Det är bättre att skapa ett e-sparkonto och ge ut sin e-sparkonto istället för sin privatkonto i t.ex. tradera..sen kan man också alltid överföra pengarna via internetbanken om man också vill det..så jag ska köra på det!

Här finns mer info om e-sparkonto:
https://www.swedbank.se/privat/spara-och-placera/bankkonton/e...

Alltså, det kommer inte att vara ett dugg säkrare med ett e-sparkanto än ett vanligt konto. Någon kan ju lika gärna gå till baken med ditt e-kontonummer istället..Dessutom kommer ingen att kunna gå till banken och flytta pengar från ditt konto bara för att denna har ditt kontonummer, man måste via upp legitimation. Skulle någon mot förmodan göra ett falsklegg (vilket inte kommer vara värt pengarna som man får från dig) så är det bankens fel och det finns övervakningkameror etc.

Att öppna ett e-sparkonto enbart för detta är lite som att ta bilen istället för att flyga eftersom det känns säkrare att köra bil..

Av kobb3
Skrivet av striker1337:

Tjenare jag säljer massa saker i tradera genom swish och det är jättesmidigt men grejen är att det är många som vill ha banköverföring som en tillägg, jag har hört att man ska absolut inte ge ut sin banknummer ut till någon (Privatkonto) och därför har jag nu skapat ett e-sparkonto genom internetbanken (dosan).

Är det säkert att lämna ut sin e-sparkonto till folk i tradera så att de kan överföra pengar till mig? Hur funkar det? Sen undrar jag om man kan jag ta ut pengar från e-sparkonto i bankautomat eller i banken eller är det "låst" och endast sättet att ta ut den är att via överföring från internetbanken (dosan) från e-sparkontot till din privatkonto, jag har Swedbank.

Det är säkert att lämna ut ditt kontonummer till vem som helst. Med kontonummer kan man enbart sätta in pengar så du behöver inte vara orolig.

Av kobb3
Skrivet av Fiskward:

@kobb3:

vet du vad, skulle du kunna göra en tjänst? det verkar ju som att min dator inte kan läsa mitt program, skulle inte du kunna testa mitt program och kolla om det kommer en graf? för att uppgiften var att få en graf av bollarna. och jag kan ju inte öppna grafen, så skulle du kunna bara testa snabbt om det fungerar?
jag skulle vara otroligt tacksam

from visual import * # must import visual or vis first import matplotlib.pyplot as plt ball = sphere(pos=(-5,0,0), radius=0.5, color=color.cyan) ball2 = sphere(pos=(5,0,0), radius=1, color=(1,0.7,0.7)) wallR = box(pos=(6,0,0), size=(0.2,12,12), color=color.green) wallL = box(pos=(-6,0,0), size=(0.2,12,12), color=color.green) wallU = box(pos=(0,6,0), size=(12,0.2,12), color=color.blue) wallD = box(pos=(0,-6,0), size=(12,0.2,12), color=color.blue) wallB = box(pos=(0,0,-6), size=(12,12,0.2), color=color.red) ball.velocity = vector(25,5,15) ball2.velocity = vector(10,2,5) ball.acc = 2.5 deltat = 0.005 t = 0 vscale = 0.1 vscale2 = 0.5 varr = arrow(pos=ball.pos, axis=vscale*ball.velocity, color=color.yellow) varr2 = arrow(pos=ball2.pos, axis=vscale*ball2.velocity, color=color.magenta) ball.trail = curve(color=ball.color) ball2.trail = curve(color=ball2.color) scene.autoscale = False ballXpos = [] #Här startas listan ballXpos tid = [] #Här startas listan tid while True: rate(100) if ball.pos.x +0.5 > wallR.pos.x: ball.velocity.x = -ball.velocity.x if ball.pos.x -0.5 < wallL.pos.x: ball.velocity.x = -ball.velocity.x if ball.pos.y +0.5 < wallU.pos.y: ball.velocity.y = -ball.velocity.y if ball.pos.y -0.5 > wallD.pos.y: ball.velocity.y = -ball.velocity.y if ball.pos.z -0.5 < wallB.pos.z: ball.velocity.z = -ball.velocity.z if ball.pos.z +0.5 > 6: ball.velocity.z = -ball.velocity.z ballXpos.append(ball.pos.x) #Här lägger jag värden i listan tid.append(t) #Här lägger jag värden i listan ball.pos = ball.pos + ball.velocity*deltat varr.pos = ball.pos varr.axis = vscale*ball.velocity ball.trail.append(pos=ball.pos) t = t + deltat if ball2.pos.x +1 > wallR.pos.x: ball2.velocity.x = -ball2.velocity.x if ball2.pos.x -1 < wallL.pos.x: ball2.velocity.x = -ball2.velocity.x if ball2.pos.y +1 < wallU.pos.y: ball2.velocity.y = -ball2.velocity.y if ball2.pos.y -1 > wallD.pos.y: ball2.velocity.y = -ball2.velocity.y if ball2.pos.z -1 < wallB.pos.z: ball2.velocity.z = -ball2.velocity.z if ball2.pos.z +1 > 6: ball2.velocity.z = -ball2.velocity.z ball2.pos = ball2.pos + ball2.velocity*deltat varr2.pos = ball2.pos varr2.axis = vscale2*ball2.velocity ball2.trail.append(pos=ball2.pos) t = t + deltat from visual.graph import * # import graphing features f1 = gcurve(color=color.cyan) # a graphics curve for x in arange(0, 8.05, 0.1): f1.plot(pos=ball.pos) # plot """ Här skrivs ut en plot med bollens x-position över tid. """ fig = plt.figure(facecolor='white') plt.title('XY plot') ax = fig.add_subplot(111) ax.set_xlabel('x') ax.set_ylabel('y') x=tid #Här anger jag x-axis som tid y=ballXpos #Här anger jag y-axis som ballXpos TextWindow = "label 1" plt.plot(x,y,c='blue',label=TextWindow) plt.legend(loc='upper right') plt.show()

Nej, nog får du kämpa med att få det att fungera, eller i alla fall lära dig att veta vad man behöver för att hjälpa dig. Dessutom orkar jag inte installera vpython och allt det andra.

Av kobb3
Skrivet av Fiskward:

det kommer upp ganska mycket text som jag inte kan copy-pastea men i slutet står det invalid syntax

Då kan vi inte hjälpa dig eftersom vi inte vet vad problemet är...

Hitta ett sätt att kopiera allting..

Av kobb3
Skrivet av Fiskward:

ska jag skriva in efter path=%path%;c:\python32;c:\python32\scripts?
och jag fick invalid syntax efter jag skrev in python -m pip install --upgrade pip och python -m pip install --upgrade pyparsing, men det var ju tidigare, jag kan testa igen

Ja, men på en egen rad då. Testa skriv in igen och om det inte fungerar så skriver du här vilket fel den ger.

Av kobb3
Skrivet av Fiskward:

först skriver jag in i cmd:

path=%path%;c:\python32;c:\python32\scripts

sen skriver jag in

python get-pip.py

då kommer ett felmeddelande: can't open file python get-pip.py: [errno 2] no such file or directory

sen skriver jag in:

pip install six
pip install python-dateutil
pip install pyparsing
pip install pytz

dessa fungerar

och sen skriver jag in exit

1. Om du får ett delmeddelandet betyder det att allting inte är OK, du kan inte bara ignorera detta. I detta fallet så spelar det ingen roll eftersom att pip redan är installerat vilket raden "python get-pip.py" gör.
2. I ovan nämnda text får du ju inte alls felet "invalid syntax".
3. Kör kommandona som jag skrivit i cmd: python -m pip install --upgrade pip och sedan python -m pip install --upgrade pyparsing

Av kobb3
Skrivet av Fiskward:

alltså, jag har försökt göra allt men det kommer bara invalid syntax varje gång. jag vet inte vad jag ska göra...

Kan du snälla skriva exakt vad du gör och vad du får tillbaka?

Av kobb3

Det är din hobby, varför är den sämre än andra hobbys?
Får det inte vara hjärndött eller? Det är ju skönt att koppla av efter en dags arbete.

Kollar din sambo tv? Det är ju ännu mer hjärndött, man interagerar ju inte ens.

Av kobb3
Skrivet av Fiskward:

Inte för att låta dum (jag kan verkligen inget om python o sånt) men var skriver jag in "python -m pip install --upgrade pip"

På samma sätt som du körde pip förut, dvs i cmd. Har man pip i in PATH kan man även köra bara pip direkt utan att blanda in python.

Av kobb3

Det är ju såklart alltid dåligt att skicka lösenord okrypterat via epost men om det bara används tills att användaren byter lösenord är det ju heller inte så farligt, lösenordet är ju bara giltigt ett tag tills användare bytt (om hen måste det). Skillnaden mot en aktiveringslänk är att användaren märker om någon använt aktiveringslänken innan. För tänk på att länken också skickas okrypterat.

Av kobb3

Den sista idén jag har (om du testat det sista jag skrev) är att uppdatera pip eftersom du säkert har laddat ner en gammal version. Om du kör

python -m pip install --upgrade pip

och sedan uppgraderar pyparsing så borde det fungera.

Av kobb3
Skrivet av Fiskward:

det är väl python 3.2 som kommer tror jag, för det är väl den jag laddade ner?

Tro är inte samma sak som att veta. Anledningen till att jag frågar är för att paketen du laddat ner med pip verkar vara för python 2 och inte för python 3. Därav syntax felet vid "print t".

Edit: Never mind, sökt bara på google efter felet och det är en bugg i pyparsing 2.0.4: https://github.com/matplotlib/matplotlib/pull/5346.

Du måste alltså uppgradera pyparsing. Det borde fungera med

python -m pip install --upgrade pyparsing

eftersom 2.0.5 släpptes i November och jag får upp 2.0.7 med nyaste versionen i pip.

Av kobb3
Skrivet av sofha:

Hej,

Jag löser en logistikuppgift i AMPL och får ett konstigt fel.
Jag har skapat bivillkor som säger att det ska finnas X antal produkter av en sort i lager hos en fabrik i tidsperiod 1(början) samt 4(slutet), sedan efter fabriken kommer ett varuhus som också har ett lager i början, tidsperiod 1 och i slutet 4.

Är detta bivillkor rätt skrivet?
BivillkorN2{PRODA in PROD, WARE1 in WARE} : inStock_WARE[PRODA, WARE1, 1] = 40;
Då det säger att lagret i varuhuset, för produkt A, för varuhus 1, i tidsperiod 1 ska ha 40 st. Dvs i tidsperiod 1 ska varuhus 1, ha 40 stycken Produkter A.

Felet jag får är följande:
"presolver, variable inStock_WARE['PRODA', WARE1', '1']:
impossible deducade bounds: lower = 20, upper = 8;
difference = 2"

Antar att jag har skrivit något i koden som går emot villkoret med 2 enheter, men jag har inte skrivit något sådan.
Tips på vad felet kan vara?

Lite tips:

  • Skriv hela koden här, inte bara en del.

  • Försök att skapa ett minimalt exempel, tex utan villkor alls

  • Kunskap om AMPL lär vara rätt dålig här

För att svara på frågan, du har, vad jag kan se, ett lowerbound på 20 och ett upperbound på 8, uppenbarligen finns det inga lösningar för dessa bounds. Vad difference = 2 betyder vet jag inte.

Av kobb3
Skrivet av Fiskward:

VPython-Win-Py3.2-5.74.exe 19-Aug-2015 13:30 12M
[TXT] get-pip.py 19-Aug-2015 13:44 1.4M
[TXT] install.txt 02-Sep-2015 21:06 1.0K
[ ] matplotlib-1.4.3.win32-py3.2.exe 19-Aug-2015 13:30 3.8M
[ ] python-3.2.5.msi 19-Aug-2015 13:30 17M
[ ] scipy-0.15.1-win32-superpack-python3.2.exe 19-Aug-2015 13:30 58M

dessa har jag installerat enligt skolans rekommendationer.

och i install.txt står det:

First copy all files to a known directory on you windows computer.

Install python using the win32 exe binaries by clicking on them:
python-3.2.5
matplotlib-1.4.3
vpython-5.74
scipy-0.15.1

To get the remaining extra packages:

Go to the windows search box in the lower left corner and type "cmd".
You should now have a command promt window open.
Set the path with: "path=%path%;c:\python32;c:\python32\scripts".
Make sure you are in the same directory as the downloaded "get-pip.py" file.
You can list files with "dir", and change directory with "cd".
type: "python get-pip.py"
type: "pip install six"
type: "pip install python-dateutil"
type: "pip install pyparsing"
type: "pip install pytz"
type: "exit"

Okej, om du startar python via cmd, vilket version av python startas?

Som vanlig kör skolorna fett gamla python vilket gör det drygt att installera andra paket. Dessutom förstår jag inte varför ni inte installerar allting via pip. Det är rätt typiskt att få sådana här problem när man installerar vissa saker med .exe filer och andra inte.

Av kobb3

Vi kan ta det från början. För att använda matplotlib så måste du ladda ner det. Matplotlib har sedan i sin tur en del moduler som den behöver för att allting ska fungera.

Först och främst, hur har du installerat matplotlib hitills? Kör du med python 2 eller python 3? Att du får syntax error på "print t" antyder att du kör python 3 men har installerat någon av modulerna till python 2.

Det du vill göra när du installerar program till python är att installera med pip. Pip är helt enkelt en pakethanterare till python och du kan installera paket med ett kommando. pip ska vara installerat med python om du har en nog ny version.

Du kör helt enkelt:

python -m pip install matplotlib

Då får du också alla dependencies.

Skrivet av Gräs-Mannen:

Om du kör python 3 så behöver du parenteser, *print(t)*. Annars kan det vara ett följdfel av satsen innan. Jag ser inte denna print-rad i din kod så kan inte säga så mycket mer...

Som du ser så inträffar felet när pyparsing importeras vilket tyder på att han har pyparsing till python 2 och inte till python 3.

Av kobb3
Skrivet av TLovskog:

Jag har precis köpt en Asus N552VX. Skylake, men inte gaming. Har USB Type-C.
Kunde iom. Skylane trycka i 32GB RAM.

Skickades från m.sweclockers.com

Men den har ju en 950M. Jag tycker helt enkelt att det blir för kraftfullt då jag hellre har en mindre och lättare dator med mindre nätdel.

Av kobb3

Ska det inte komma några bärbara med skylake som inte är speldatorer? Finns BARA 950m och uppåt i grafikkortsväg. Jag är suger på att ha USB C i min laptop då jag kommer ha den i säkert 5år till.

Av kobb3
Skrivet av Mysterium:

Jaha, OK, men kan det vara en risk på samma sätt, eftersom man inte delar upp uppkopplingen på samma sätt (eller hur man ska säga) som när flera är inne på ett och samma publika wifi?

Det är enbart osäkert eftersom någon skulle kunna lyssna på anslutning. Dvs på vilken punkt som helst mellan dig och servern. Du vet ju inte vad som händer med din data efter den lämnar dig, kanske den går över ett oskyddat wifi. Det är dock rätt så osannorlikt att någon annan än FRA/NSA/annan signalspaning skulle få tillgång till dina uppgifter.