What could be creating syntax errors in my AMPL code? - equation

For this ampl code, I keep getting syntax errors when I try to run this mod file. I'm not quite sure where I'm going wrong, as I have the correct equations written down.
How do I go about fixing this?
var P >= 0;
var Q >= 0;
var R >= 0;
var S >= 0;
var T >= 0;
var U >= 0;
var V >= 0;
maximize Cost: 4*P + 5*Q + 1*R + 3*S - 5*T + 8*U;
subject to Sup1: P - 4*R + 3*S + T + U + 2*V = 1 ;
subject to Sup2: 5*P + 3*Q + R − 5*T + 3*U <= 4 ;
subject to Sup3: 4*P + 5*Q − 3*R + 3*S − 4*T + U <= 4 ;
subject to Sup4: − Q + 2*S + T − 5*U <= 5 ;
subject to Sup5: −2*P + Q + R + S + 2*T + 2*U <= 7 ;
subject to Sup6: 2*P − 3*Q + 2*R - S + 4*T + 5*U <= 5 ;

The syntax error is caused by the Unicode minus sign −. To fix it replace all occurrences of − with the standard ASCII minus sign -.

Related

How to prove (x+y)/z + (y+z)/x + (x+z)/y>=6 when x,y,z>0

This question actually had two parts. In the first part I had to prove that a + 1/a >=2. I proved it by rearranging it to (a-1)^2 >= 0, which is always true.
So, I thought the second problem would require a similar method.
(x+y)/z + (y+z)/x + (x+z)/y >=6, where x,y,z>0
But I cant figure it out.
I've tried simplifying it and factoring it for ideas but I've got nothing.
Once you know that a + 1/a >= 2, the second part is easy. Define:
a := x/z, b := y/z, c := y/x
and now
(x+y)/z + (y+z)/x + (x+z)/y = x/z + y/z + y/x + z/x + x/y + z/y
= a + b + c + 1/a + 1/c + 1/b
>= 2 + 2 + 2
= 6

Date Bookmarklet not working in chrome

Below is a bookmarklet that is not working can someone help me out.
javascript:function url() {
var date = new Date();
date.setDate(date.getDate() + (1 + 7 - date.getDay()) % 7);
var y = date.getFullYear();
var m = date.getMonth() +1;
if(m < 10){m = '0' + m;}
var d = date.getDate();
if(d < 10){d = '0' + d;}
var date = y + "-" + m + "-" + d;
return 'https://wms.blueapron.com/facilities/4/grocery-board?view_type=cumulative&week_starts_on=' + date
}window.open(url(),"_blank");
The working bookmarklet may look like this:
javascript:(function() {
window.open(url(),"_blank");
function url() {
var date = new Date();
date.setDate(date.getDate() + ((8 - date.getDay()) % 7 ? (8 - date.getDay()) % 7 : 7));
var y = date.getFullYear();
var m = date.getMonth() +1;
if(m < 10){m = '0' + m;}
var d = date.getDate();
if(d < 10){d = '0' + d;}
var date = y + "-" + m + "-" + d;
return 'https://wms.blueapron.com/facilities/4/grocery-board?view_type=cumulative&week_starts_on=' + date;
}
})();

Boolean algabra

I'm working on some logic homework and I can't figure out the next step in reducing the number of literals. Any help would be greatly appreciated.
(A + B + C) (A’B’ + C)
A’B’C + AC + BC + C
C(A’B’ + A + B + C)
C((A + B)’ + A + B + C)
I'm pretty sure I use the associative law next, but I don't understand how the not operator is distributed when rearranging.
From the point where you left:
C((A + B)’ + A + B + C)
C(1 + C) ; X' + X = 1 applied to X = A + B
C(1) ; 1 + <anything> = 1
C ; <anything>1 = <anything>

Translation from Binary to Decimal

How does one translate the following binary to Decimal. And yes the decimal points are with the whole binary value
1) 101.011
b) .111
Each 1 corresponds to a power of 2, the power used is based on the placement of the 1:
101.011
= 1*2^2 + 0*2^1 + 1*2^0 + 0*2^-1 + 1*2^-2 + 2*2^-3
= 1*4 + 1*1 + 1/4 + 1/8
= 5.375
.111
= 1*2^-1 + 1*2^-2 + 1*2^-3
= 1/2 + 1/4 + 1/8
= .875
If you don't like dealing with the decimal point you can always left shift by multiplying by a power of 2:
101.011 * 2^3 = 101011
Then convert that to decimal and, since you multiplied by 2^3 = 8, divide the result by 8 to get your answer. 101011 converts to 43 and 43/8 = 5.375.
1) 101.011
= 2*2^-3 + 1*2^-2 + 0*2^-1 + 1*2^0 + 0*2^1 + 1*2^2
= (1/8) + (1/4) + 0 + 1 + 0 + 4
= 5.375
2) .111
= 1*2^-3 + 1*2^-2 + 1*2^-1
= (1/8) + (1/4) + (1/2)
= .875
101.011 should be converted like below
(101) base2 = (2^0 + 2^2) = (1 + 4) = (5) base10
(.011) base2 = 0/2 + 1/4 + 1/8 = 3/8
So in total the decimal conversion would be
5 3/8 = 5.375
Decimal numbers cannot be represented in binary. It has to be whole numbers.
Here is a simple system
Let's take your binary number for example.
101011
Every position represents a power of 2. With the left-most position representing the highest power of 2s. To visualize this, we can do the following.
1 0 1 0 1 1
2 ^ 6 2 ^ 5 2 ^ 4 2 ^ 3 2 ^ 2 2 ^ 1
We go by each position and do this math
1 * (2 ^6 ) + 0 * (2 ^ 5) + 1 * (2 ^ 4) + 0 * (2 ^ 3) + 1 * (2 ^ 2) + 1 * (2 ^ 1)
Doing the math gives us
(1 * 64) + (0 * 32) + (1 * 16) + (0 * 8) + (1 * 4) + (1 * 2) =
64 + 0 + 16 + 0 + 4 + 2 = 86
We get an answer of 86 this way.

Simplifying a logic function using boolean algebra

I'm taking a class on digital logic and I am having a hard time with boolean algebra and simplifying logic functions with it. I have tried answering this problem several times and I keep coming to the answer "1", which I feel is absolutely wrong.
The question is
Consider the logic function f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'. Simplify f using Boolean algebra as much as possible.
I have tried solving it several ways using the boolean identities given in my textbook and from lecture, but I keep coming to something like c + 1 which is equivalent to 1, which I don't feel is the correct answer considering the next question in the problem.
Here is my last attempt:
f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
= a(bc + b'c + b'c') + a'(bc + b'c) # Distributive, took out the a and the a' separately.
= (a + a')((bc + b'c + b'c') + (bc + b'c)) # Distributive(?), took out the a and a' together (This is probably where I screwed up).
= (1)((c + b'c') + c) # a + a' = 1; bc + b'c = c (Combining).
= c + b'c' + c # cleaned up a little.
= c + b'c' # c + c = c.
= c + (b' + c') # b'c' = b' + c' (DeMorgan's Theorem).
= 1 + b' # c + c' = 1.
= 1 # 1 + b' = 1
This feels absolutely wrong to me, and the next question asks me to make the logic circuit for it, which I don't think is possible.
Can anyone help/walk me through what I am doing wrong? I would really appreciate it. :(
(P.S. I used code formatting, I apologize if this is annoying to some.)
By this table:
A 1 1 1 1 0 0 0 0
B 1 1 0 0 1 1 0 0
C 1 0 1 0 1 0 1 0
Y 1 0 1 1 1 0 1 0
Y=ab'+c
I've got it :D
f(a,b,c) = abc + ab'c + a'bc + a'b'c + ab'c'
= a(bc + b'c + b'c') + a'(bc + b'c)
= a(c(b + b') + b'c') + a'(c(b + b'))
= a(c * 1 + b'c') + a'(c * 1)
= a(c + b'c') + a'c
= a(c'(b'c')')' + a'c
= a(c'(b + c))' + a'c
= a(c'b +cc')' + a'c
= a(c'b)' + a'c
= a(c+b') + a'c
= ac + ab' + a'c
= c(a + a') + ab'
= ab' + c